gpt4 book ai didi

swift - 将缓存的远程音频文件加载到 iOS 上的 AKPlayer,而不是使用本地文件

转载 作者:可可西里 更新时间:2023-11-01 01:08:23 29 4
gpt4 key购买 nike

到目前为止,我一直在使用 AKPlayers 进行多音频播放项目,由 AKSequencer 触发以获得完美的同步、循环和高级信号处理。一切进展顺利,但现在我需要一些洞察力才能进入下一个阶段。

我正在尝试对远程 mp3 文件播放完全相同的功能 - 从远程 URL 地址流式传输 mp3 文件数组。但是,AKPlayer 目前似乎还不支持流媒体功能。

不过,我在此网站上发现的一种可能性是 Ryan Francesconi 在主题 "How can I get AudioKit to stream an audio file from a remote URL?” 上的回答.他是这样建议的:

guard let remote = URL(string: "https://www.sample-videos.com/audio/mp3/crowd-cheering.mp3"),

let data = NSData(contentsOf: remote) else {
AKLog("Remote failed to load.")
return
}

let cachedFile = FileManager.default.homeDirectoryForCurrentUser.appendingPathComponent(remote.lastPathComponent)
try? data.write(to: cachedFile)
let player = AKPlayer(url: cachedFile)


所以,在我开始试验之前,有人(最好是 Francesconi 先生)可以告诉我如何在 iOS 上实现这段代码吗?使用这种缓存和加载想法开发多音频文件播放项目是否安全(就无缝同步和循环而言)?如果我能更多地了解这一点,那将非常有帮助。非常感激。 <3

最佳答案

就术语而言,这甚至不是缓存,因为缓存被视为临时存储(如果是 iOS,系统会在系统认为最佳时将其删除),而这种方法实际上可以节省数据进入文件系统。总的来说,我没有看到预下载然后使用下载文件的想法有很多风险,因为你正在使用文件系统并且它非常快。

我唯一真正关心的是下载文件占用的空间。当应用处于非事件状态时,您可能需要清除临时文件(如果它们是临时文件)以避免内存问题。

为了更好地了解文件的存储方式和最重要的位置,请参阅 Apple filesystem docs.

关于swift - 将缓存的远程音频文件加载到 iOS 上的 AKPlayer,而不是使用本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52417879/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com