我试图实现的目标:
- 带身份验证的渐进式下载
- 应该能够在数据块到来时播放(urlSession(_session:urlSession,dataTask:URLSessionDataTask,didReceive-data:data))
到目前为止我尝试了什么:
- 尝试使用
AVAudioPlayer(data: tempData as Data)
,将数据作为url会话中接收的数据附加到tempData。但玩家玩第一组数据和停止 - 使用AVAsset集成
成功播放本地文件。但是,我们如何将数据的一部分附加到AVAsset中,以便播放整个数据?func initializePlayer() { //audio session for handling interuptions - Done Appdelegate /* 1. Create Asset (Asset represent a single media), AVAsset -> AVAssetTrack 2. Resource properties like metadata, duration etc are loaded from asset, but if taken syncrn will block so use async */ }
AVAudioPlayer不适合从网络流式传输音频。您需要阅读音频文件流服务:https://developer.apple.com/reference/audiotoolbox/1669809-audio_file_stream_services