一尘不染

AVAudioPlayer.play()不播放声音

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);

如果我改用以下代码,则可以听到声音。

    var inFileURL:CFURL = fileURL!;
    var mySound = UnsafeMutablePointer<SystemSoundID>.alloc(sizeof(SystemSoundID));
    AudioServicesCreateSystemSoundID(inFileURL, mySound);
    AudioServicesPlaySystemSound(mySound.memory)
  • OS X优胜美地10.10.3
  • Xcode 6.2

阅读 307

收藏
2020-07-07

共1个答案

一尘不染

问题是Player,您的AVAudioPlayer是一个 局部变量 。因此,它会立即不复存在-在开始播放之前,更不用说完成播放了。

解决方案:改为将其设置为 属性 ,以使其 持久存在

2020-07-07