因此,我已经能够将avplayer设置为直接从firebase链接流式传输音频,并且还可以将其设置为从firebase下载。我要弄清楚的是,是否有可能在流式传输或流式传输完成时将文件基本上保存到文件URL,因为执行下载任务以及将播放器当前项目设置为流式传输基本上需要两倍的网络资源。
我也正在寻找一种快速的语言解决方案
最佳答案
万一有人需要它,我可以在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()
})
}