Dam*_*les 2 audio macos avfoundation swift
为什么下面的代码不播放声音?它为 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);
Run Code Online (Sandbox Code Playgroud)
如果我改用以下代码,我可以听到声音。
var inFileURL:CFURL = fileURL!;
var mySound = UnsafeMutablePointer<SystemSoundID>.alloc(sizeof(SystemSoundID));
AudioServicesCreateSystemSoundID(inFileURL, mySound);
AudioServicesPlaySystemSound(mySound.memory)
Run Code Online (Sandbox Code Playgroud)
问题在于Player,您的 AVAudioPlayer 是一个局部变量。所以它会立即消失 - 在它甚至可以开始播放之前,更不用说完成播放了。
解决方案:改为将其设为属性,以便其持久化。
| 归档时间: |
|
| 查看次数: |
1697 次 |
| 最近记录: |