我试图用AVAudioPlayer
播放声音,但它不起作用。
**编辑 1:**仍然无法正常工作。
编辑 2:此代码有效。我的设备处于静音模式。
import UIKit
import AVFoundation
class ViewController: UIViewController {
var audioPlayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("button-09", ofType: "wav"))
println(alertSound)
var error:NSError?
audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error)
audioPlayer.prepareToPlay()
audioPlayer.play()
}
}
8 回答
使用此功能在 Swift 中发出声音(您可以在此处使用此功能 sound.)
首先添加 SpriteKit 和 AVFoundation Framework。
对您的代码进行了修改:
Swift 3 和 Swift 4.1:
根据 Swift 2,代码应该是
您的音频播放将在 viewDidLoad 完成后立即取消分配,因为您将其分配给本地变量。您需要为它创建一个属性来保持它。
解决方案适用于 AudioPlayer,导航栏中的 play/pause/stop 按钮为条形按钮项
在 Swift 2.1 中,您可以使用以下代码
这将工作.....
Swift 4.2 以后,AudioSession 类别设置选项已更改。 (尝试使用以下 Swift 4.2 代码)
这是一个非常古老的问题,但我没有看到一个适用于 Swift 3.0 的答案,因此我对代码进行了现代化并添加了一些安全检查以防止崩溃。
我还采取了将播放部分拉出到自己的功能中的方法,以便为遇到这个答案的任何人提供 re-use 帮助。