2015-11-21 68 views
0

我試圖創建播放從Parse下載的NSData的AVAudioPlayerSwift/iOS:AVAudioPlayer不播放NSData格式的聲音

我很確定聲音(.wav格式)已上傳到Parse。我也確定聲音可以從Parse以NSData的格式下載。所以我用從解析下載的數據創建一個AVAudioPlayer對象:

if audioData != nil { 
        print("successful downloading audio!") //this prints out 
        let audioPlayer = try! AVAudioPlayer(data: audioData!, fileTypeHint: AVFileTypeWAVE) 
        audioPlayer.prepareToPlay() 
        audioPlayer.volume = 0.5 
        audioPlayer.play() 
       } 

正如你可以在上面看到,在創建audioPlayer,但它不播放聲音。哪裏可能出錯?

回答

1

此代碼內的功能?如果是這樣,你可以在本地製作audioPlayer變量。這意味着audioPlayer被創建,開始播放,然後被解除分配(在函數調用結束時),導致沒有音頻。您的audioPlayer對象需要是類屬性或全局空間(例如單例),因此在函數結束後對象生命仍然存在。