以下代码为什么不播放声音?它为play()返回“ true”,但我听不到任何声音。
let path = "/Users/account/Music/sound.mp3"; let fileURL = NSURL(fileURLWithPath: path) var Player = AVAudioPlayer(contentsOfURL:fileURL, error:nil); Player.delegate = self; Player.prepareToPlay(); Player.volume = 1.0; var res = Player.play(); println(res);
如果我改用以下代码,则可以听到声音。
var inFileURL:CFURL = fileURL!; var mySound = UnsafeMutablePointer<SystemSoundID>.alloc(sizeof(SystemSoundID)); AudioServicesCreateSystemSoundID(inFileURL, mySound); AudioServicesPlaySystemSound(mySound.memory)
问题是Player,您的AVAudioPlayer是一个 局部变量 。因此,它会立即不复存在-在开始播放之前,更不用说完成播放了。
Player
解决方案:改为将其设置为 属性 ,以使其 持久存在 。