如何在 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