Actionscript 3 如何缓存音频流数据并在AS3中访问它
我正在用AS3播放MP3文件。一切都很好,我可以玩它,但我期待实现一个'寻找'酒吧。这意味着我需要在下载文件时对其进行缓存,然后在用户查找歌曲中的特定时间时访问缓存的数据 实际播放mp3流的代码:Actionscript 3 如何缓存音频流数据并在AS3中访问它,actionscript-3,flash,caching,audio,stream,Actionscript 3,Flash,Caching,Audio,Stream,我正在用AS3播放MP3文件。一切都很好,我可以玩它,但我期待实现一个'寻找'酒吧。这意味着我需要在下载文件时对其进行缓存,然后在用户查找歌曲中的特定时间时访问缓存的数据 实际播放mp3流的代码: function openStream( stream ) { var s:Sound = new Sound(); var req:URLRequest = new URLRequest(stream); var context:SoundLoaderContext = ne
function openStream( stream )
{
var s:Sound = new Sound();
var req:URLRequest = new URLRequest(stream);
var context:SoundLoaderContext = new SoundLoaderContext(500, true);
s.load(req, context);
s.play();
}
那么,如何在下载文件时缓存该文件,然后从缓存中访问数据呢
我知道这远远不是一项简单的任务,因此如果您能提供一些教程/文档/文章的链接,我将不胜感激。您不需要为此缓存声音 只要声音对象在内存中,下载的声音数据就可用 因此,您需要做的就是将函数外部的声音对象放入类范围 此外,播放功能还返回声音使用的当前SoundChannel
private var snd:Sound = new Sound();
private var channel:SoundChannel;
function openStream( stream ) {
...
channel = snd.play();
}
要实现您可以使用的搜索功能
了解下载了多少声音
要知道当前的声音位置
令人惊叹的那么我可以在内存中存储多少数据呢?有限制吗?比如如果我的声音文件是50-60mb呢?没问题。我们在这里讨论的内存是用户的RAM,这已经足够好了…很抱歉,还有一个问题,但是你能告诉我如何暂停播放,而不删除当前下载的数据吗?s、 关闭将删除当前数据,并且s.pause不存在。有什么想法吗?谢谢