如何在流式传输时从firebase保存音频文件

时间:2018-04-10 12:45:06

标签: swift firebase firebase-storage

所以我已经能够设置avplayer直接从firebase链接流式传输音频,我也可以将其设置为从firebase下载。我想弄清楚的是,它是否有可能基本上将文件保存到文件URL,而不是流式传输或完成流式传输,因为执行下载任务并将播放器currentitem设置为流基本上需要两倍的网络资源。 我也正在寻找一个快速的语言解决方案

1 个答案:

答案 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()
        })
}