flash - 有可能使Flash缓存大量声音 Assets 吗?

标签 flash caching cookies audio streaming

我用Flash(AS3 / Flex SDK / MXMLC)编写了一个游戏,该游戏可以从服务器流式传输音乐和声音文件。

我担心带宽-音频组件接近3MB,如果该游戏流行起来,它将真的增加带宽费用。

有没有什么方法可以使Flash在下载音频组件后就缓存音频组件,而不是每次在同一台PC上加载游戏时都将其流式传输?

我知道SharedObjects(“Cookie”),但是我不认为有一种方法可以在其中存储二进制数据……还是在那里?

最佳答案

当您说“流”时,我假设您的意思是通过HTTP进行渐进式下载。

对于初学者来说,您将要确保从服务器发送具有满足您目标的适当缓存头的媒体 Assets 。如果这些文件不适合缓存,则不会缓存文件。同样,查询字符串通常会阻止客户端缓存。

在这方面,Flash Player并没有真正神奇的地方-一切都应该正常工作,就好像这只是一个普通的网页一样。

您可能需要考虑将大型的静态媒体 Assets 托管在便宜的东西上(例如Amazon S3CloudFront)。这可以减少不需要应用程序逻辑的批量传输的成本。

受评论启发而更新:这是您可能要遵循的任务大纲...

  • 弄清楚什么是缓存,哪些缓存不发生
  • 清除浏览器缓存
  • 浏览游戏中的一个用例
  • 再次浏览,希望看到与
  • 相同的内容
  • 检查Web服务器日志文件。第一组请求都应具有HTTP 200响应代码。对于第二组请求,对于已经交付的文件的“可缓存”请求,您应该看不到任何内容或HTTP 304(一个请求只是为了查看所缓存的内容是否有效。)如果您看到相同的请求集,则全部200 OK,然后就没有缓存
  • 了解有关缓存的更多信息
  • 安装类似TamperData的FireFox插件,观察缓存头
  • 阅读规范,了解它。 RFC 2616
  • 实验

  • 如果您已经在缓存内容,但是却没有意识到,我不会感到惊讶!

    关于flash - 有可能使Flash缓存大量声音 Assets 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/801613/

    相关文章:

    actionscript-3 - 在 Flash 中分析视频的像素数据

    jquery - 应用淡入时出现问题

    caching - Varnish :即使请求或响应 header 中存在某些 cookie 也会缓存

    c++ - "reserve"缓存部分是否有任何解决方法?

    ios - iOS Safari 多久清除一次缓存?

    java - 如何在窗口关闭或应用程序重新运行时删除 servlet 中的 cookie

    ASP.NET 表单例份验证 Cookie 不会过期

    c# - 如何获得最近通过身份验证的用户?

    java - 将桌面流式传输到 Flash 播放器

    actionscript-3 - Google Chrome 中的 Flash 音频滞后