所以我已经能够设置avplayer直接从firebase链接流式传输音频,我也可以将其设置为从firebase下载。我想弄清楚的是,它是否有可能基本上将文件保存到文件URL,而不是流式传输或完成流式传输,因为执行下载任务并将播放器currentitem设置为流基本上需要两倍的网络资源。 我也正在寻找一个快速的语言解决方案
答案 0 :(得分:0)
如果有人需要这个,我通过在AVplayeritem完成缓冲时调用此函数来解决它
func saveTrack(asset: AVURLAsset)
{
let exporter = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetAppleM4A)`
let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false).appendingPathComponent("YourApp/documents/Track01.m4a")
exporter?.outputURL = fileURL
exporter?.outputFileType = AVFileType.m4a
exporter?.exportAsynchronously(completionHandler: {
print(exporter?.status)
print(exporter?.estimatedOutputFileLength)
print(exporter?.maxDuration)
print("finished ssaving file")
print()
})
}