📅  最后修改于: 2023-12-03 15:23:19.925000             🧑  作者: Mango
在 iOS 应用程序中,播放声音是一个非常常见的需求,例如播放音乐、提示声等等。在 Swift 中,可以使用几种不同的方式来实现声音的播放。下面将介绍其中的两种方式:AVAudioPlayer 和 AVPlayer。
AVAudioPlayer 是一个音频播放器,可以使用它来播放各种音频格式的文件,例如 .wav、.mp3 等等。这是一个非常简单的示例,演示如何使用 AVAudioPlayer 播放一个 .wav 文件:
import AVFoundation
var audioPlayer: AVAudioPlayer!
if let soundFilePath = Bundle.main.path(forResource: "sound", ofType: "wav") {
let soundFileUrl = URL(fileURLWithPath: soundFilePath)
do {
audioPlayer = try AVAudioPlayer(contentsOf: soundFileUrl)
audioPlayer.prepareToPlay()
audioPlayer.play()
} catch {
// 处理错误
}
}
audioPlayer
。try AVAudioPlayer(contentsOf: soundFileUrl)
方法创建一个 AVAudioPlayer 实例。如果创建失败,将抛出一个错误。prepareToPlay()
方法准备播放器。play()
方法来开始播放音频文件。AVPlayer 是一个更高级的音频播放器,它可以播放远程音频流和本地音频文件。如果您需要播放纯音频,并且可能需要跨多个文件和来源播放,那么使用 AVPlayer 是更好的选择。这是一个示例,演示如何使用 AVPlayer 播放一个 .mp3 文件:
import AVKit
var player: AVPlayer?
if let url = URL(string: "http://example.com/sound.mp3") {
player = AVPlayer(url: url)
player?.play()
}
player
。AVPlayer(url:)
方法创建一个 AVPlayer 实例。play()
方法来开始播放音频文件。以上是使用 AVAudioPlayer 和 AVPlayer 播放音频文件的简单示例。您可以根据自己的需求,使用适当的方法来播放声音。AVAudioPlayer 是一个适用于播放本地音频文件的较简单的播放器,而 AVPlayer 则更适用于播放远程音频流和跨多个来源播放的纯音频。