如何在 iOS 中播放音訊和影片檔案?
瞭解如何在 iOS 中播放音訊和影片非常重要,因為如今幾乎每個應用程式都包含音訊和影片。從您的遊戲應用程式到社交媒體再到您的音樂播放器等等。
在本篇文章中,我們將學習如何使用 Swift 播放音訊和影片檔案。
那麼讓我們開始吧。
步驟 1 - 開啟 Xcode → 新建專案 → 單檢視應用程式 → 讓我們將其命名為“AudioVideo”。
步驟 2 - 開啟 Main.storyboard 並新增三個按鈕,並將其命名如下所示。

步驟 3 - 為這三個按鈕建立 @IBOutlet,並將其命名為 stop、playButton 和 video button,顧名思義,它們將用於播放聲音、停止聲音和播放影片。
步驟 4 - 我們將使用蘋果提供的 AVFoundation 框架,AVFoundation 框架結合了四個主要技術領域,這些領域共同涵蓋了在 Apple 平臺上捕獲、處理、合成、控制、匯入和匯出視聽媒體的廣泛任務。
步驟 5 - 導航到您的專案構建階段,並新增 AVFoundation 框架,如所示。

步驟 6 - 在您的專案目錄中新增您希望播放的 mp3/音訊檔案。
步驟 7 - 在您的 ViewController.swift 中匯入框架,
import AVFoundation
步驟 8 - 建立 AVAudioPlayer 的物件。
var avPlayer = AVAudioPlayer()
步驟 9 - 在 play 按鈕的 IBAction 中編寫以下程式碼。
@IBAction func playButton(_ sender: Any) {
guard let url = Bundle.main.url(forResource: "sample", withExtension: "mp3")
else {
return
}
do {
avPlayer = try AVAudioPlayer(contentsOf: url)
avPlayer.play()
}
catch {
}
}步驟 10 - 在 stop 按鈕的 IBAction 中編寫以下程式碼行
@IBAction func stop(_ sender: Any) {
avPlayer.stop()
}步驟 11 - 在 video 按鈕中編寫以下程式碼
@IBAction func videoButton(_ sender: Any) {
let path = Bundle.main.path(forResource: "one", ofType: "mp4")
let videoUrl = URL(fileURLWithPath: path!)
let player = AVPlayer(url: videoUrl as URL)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()
}執行應用程式以播放音訊和影片。
完整程式碼
示例
import UIKit
import AVFoundation
class ViewController: UIViewController {
var avPlayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func stop(_ sender: Any) {
avPlayer.stop()
}
@IBAction func playButton(_ sender: Any) {
UIScreen.main.brightness = 0.6
guard let url = Bundle.main.url(forResource: "sample", withExtension: "mp3")
else {
return
}
do {
avPlayer = try AVAudioPlayer(contentsOf: url)
avPlayer.play()
}
catch {
}
}
@IBAction func videoButton(_ sender: Any) {
let path = Bundle.main.path(forResource: "one", ofType: "mp4")
let videoUrl = URL(fileURLWithPath: path!)
let player = AVPlayer(url: videoUrl as URL)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()
}
}
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP