【问题标题】:How to save an audio file from firebase while its streaming如何在流式传输时从firebase保存音频文件
【发布时间】:2018-04-10 12:45:06
【问题描述】:

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

【问题讨论】:

  • 谢谢,刚刚检查过,但我已经尝试检查过,但仍然不清楚:我可以为要在我的设备上永久写入的文件指定一个 URL 吗?

标签: swift firebase firebase-storage


【解决方案1】:

如果有人需要这个,我在 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()
        })
}

【讨论】:

  • 您能解释一下“AVPlayerItem 何时完成缓冲”是什么意思吗?你怎么知道它什么时候结束?
猜你喜欢
  • 2017-05-09
  • 1970-01-01
  • 2011-05-23
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 2013-02-11
  • 2019-10-04
  • 1970-01-01
相关资源
最近更新 更多