AVAudioPlayer.play() 不播放声音
AVAudioPlayer.play() does not play sound
为什么下面的代码不播放声音?它 returns "true" 用于 play(),但我听不到任何声音。
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)
- OS X Yosemite 10.10.3
- Xcode 6.2
问题在于,您的 AVAudioPlayer Player
是一个 局部变量 。所以它立即消失了 - 在它开始播放之前,更不用说结束播放了。
解决方案:改为属性,这样它就会坚持。
为什么下面的代码不播放声音?它 returns "true" 用于 play(),但我听不到任何声音。
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)
- OS X Yosemite 10.10.3
- Xcode 6.2
问题在于,您的 AVAudioPlayer Player
是一个 局部变量 。所以它立即消失了 - 在它开始播放之前,更不用说结束播放了。
解决方案:改为属性,这样它就会坚持。