【问题标题】:How to play binary MP3 stream with jQuery/Javascript?如何使用 jQuery/Javascript 播放二进制 MP3 流?
【发布时间】:2010-11-13 12:24:59
【问题描述】:

我从一个 ajax 调用中得到一个纯二进制 MP3 流。没有标题,什么都没有。只是直接的 MP3 位。 (实际上这真的是一个流吗?)

我希望能够在网页中播放它(如果可能,提供下载)。

这可能吗?如果是这样,最好的方法是什么?

如果不可能,还有什么其他方法可以解决这个问题?

【问题讨论】:

  • 应该提到我知道我需要一个 Flash 播放器或类似的东西。我最感兴趣的是如何在没有 URL 或文件的情况下播放这种类型的流...
  • 所以 ajax 响应包含一个包含整个 mp3 文件的字符串?或者响应是否为您提供了该流的 url?
  • 前者。仅包含二进制 mp3 数据的字符串。

标签: javascript jquery mp3


【解决方案1】:

你不能用纯 JavaScript 播放音乐。您需要获取该流并将其传递给 Flash 播放器。

试试JW flash player,虽然我不确定它是否能处理你所说的流类型。您将不得不对它可以处理的内容进行一些研究

【讨论】:

  • 肯定闪存不是唯一的选择吗?
  • 它是最兼容跨浏览器的。
【解决方案2】:

正如确实提到的,您需要一个 mp3 播放插件,flash 是最广泛使用的插件。 JMP3 jquery 插件使您可以更轻松地完成这项任务。它确实依赖闪存文件进行声音处理。

【讨论】:

  • 是的,我正在尝试那个。但我不知道如何将数据传递给它。在 var 中?
【解决方案3】:

如果您只针对very modern browsers,您可以使用数据URL:s,只需将一个对象元素写入您的HTML,然后链接到该数据URL。注意:这个我没试过。

【讨论】:

    【解决方案4】:

    你可能想看看SoundManager 2: Javascript Sound for the Web

    它是一个开源的 BSD 许可 JavaScript 脚本,用于处理声音。

    它会自动连接到 HTML5 或 Flash 以产生声音,具体取决于可用的内容。

    【讨论】:

      【解决方案5】:

      我是用data uris做的,有浏览器兼容性问题,有url长度问题(基本上> 30,000字符左右不支持IE),还有浏览器永远无法访问的问题解码 base64 值(缓冲也非常慢)。

      使用当前的网络技术,我认为最好的办法是将数据写入服务器上的临时文件,然后让Dewplayer 之类的东西加载并播放临时文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-13
        • 1970-01-01
        • 2011-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多