我在Flash(AS3 / Flex SDK / MXMLC)中编写了一个游戏,可以从我的服务器中传输音乐和声音文件。
我关注带宽 - 音频组件接近3MB,如果游戏变得流行,它将真正增加带宽费用。
有没有办法让Flash一旦下载后缓存音频组件,而不是每次在同一台PC上加载游戏时都将它们流式传输?
我知道SharedObjects(“cookies”),但我认为没有办法将二进制数据存储在那里......或者在那里?
答案 0 :(得分:3)
当您说“stream”时,我认为您的意思是通过HTTP逐步下载。
对于初学者,您需要确保从您的服务器发送媒体资产,并使用符合您目标的相应缓存标头。如果这些不是缓存友好的,那么文件将不会被缓存。此外,查询字符串通常会阻止客户端缓存。
在这方面,Flash播放器并没有什么神奇的东西 - 一切都应该好像这只是一个简单的网页。
您可能需要考虑以便宜的方式托管大型静态媒体资产(例如Amazon S3或CloudFront。)这可以降低不需要应用程序逻辑的批量传输的成本。
受评论启发的更新:以下是您可能需要遵循的大纲......
如果您已经缓存内容但我没有意识到这一点,我不会感到惊讶!