如何在 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()
   }
}

更新於: 2019年7月30日

909 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.