Я пытаюсь воспроизвести Песни из soundcloud. Поскольку iOS-SDK был прекращен, я должен сам выполнить всю аутентификацию и потоковое вещание. При потоковой передаче песни я в основном создаю поток с помощью Alamofire и разбираю полученные данные в экземпляр AVAudioplayer. Затем он воспроизводит звук на секунду и останавливается. Что мне не хватает?AVAudioplayer воспроизводит данные только на секунду
class SoundcloudPlayer: NSObject, AVAudioPlayerDelegate {
var clientProvider: SoundcloudConnectorProvider!
var track: SoundcloudTrack?
private var stream: Request?
private var audioData = NSMutableData()
private var audioPlayer: AVAudioPlayer!
override init() {
super.init()
}
func play(){
if let client = clientProvider?.currentClient() where client.hasUnexpiredAccessToken() && track != nil{
stream = client.request(.GET, self.track!.url!).stream({ (data) -> Void in
self.audioData.appendData(data)
if self.audioPlayer == nil{
do{ self.audioPlayer = try AVAudioPlayer(data: self.audioData)} catch {print("error") }
self.audioPlayer.delegate = self
self.audioPlayer.play()
}
print(self.audioPlayer.data?.length)
}).progress({ (read, total, expected) -> Void in
Async.main(block: {() -> Void in
//print("\(total)/\(expected)")
})
})
}
}
}