将字节数组转换为声音

发布于 2024-11-28 05:35:35 字数 62 浏览 1 评论 0原文

我有一个 mp3 文件作为字节数组。如何使用 javascript 将其转回声音并播放?

谢谢

I have an mp3 file as byte array. How to turn it back to a sound and play using javascript?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

剑心龙吟 2024-12-05 05:35:35

据我所知,这绝对不是一件小事。

  1. 您可以将数组转换为数据URI,然后正常播放。
  2. 您可以将其发送回服务器进行编码并正常播放。
  3. 您可以使用花哨的 API

2 似乎效率低下,3 需要浏览器特定的支持。所以,使用 1。我还没有尝试过,但请查看 http://www.bitsnbites.eu/? p=1。您应该期望这比本机代码效率低得多。

As far as I know this is decidedly non trivial.

  1. You can turn the array into a data URI, and then play it back normally.
  2. You can post it back to a server to do the encoding and play it back normally.
  3. You can use a fancy API

2 seems inefficient, 3 requires browser specific support. So, use 1. I havent tried it, but check out http://www.bitsnbites.eu/?p=1. You should expect this to be way less efficient than native code.

趴在窗边数星星i 2024-12-05 05:35:35

这只是 Philip JF 答案的后续:

“1”可能会正常工作,而不需要任何在 Bitsnbites 链接上解释的棘手内容。由于 mp3 文件没有标头,因此您可以“按原样”将数据传递到 URL,无需 WAVE 标头。所以要走的路(从bitsnbites页面修改):

构造要作为DATA URI播放的字符串:
使用“data:audio/mpeg;base64,”初始化字符串
使用 btoa() 函数将 mp3 字节数组附加为采用 Base64 编码的格式化字符串。
然后您可以调用此数据 URI 来播放它。

参考文献:

https://developer.mozilla.org/en/DOM/window.btoa

http://en.wikipedia.org/wiki/Data_URI_scheme

This is just a follow-up on Philip JF's answer:

"1" will probably work fine without any of the tricky stuff explained on the bitsnbites link. Since mp3 files are without header, you can pass on the data to the URL "as is", without WAVE header. So the way to go (modified from the bitsnbites page):

Construct the string to be played as a DATA URI:
Initialize a string with "data:audio/mpeg;base64,"
Append the mp3 byte array as a formatted string in base64 encoding using the btoa() function.
Then you can invoke this Data URI in order to play it.

References:

https://developer.mozilla.org/en/DOM/window.btoa

http://en.wikipedia.org/wiki/Data_URI_scheme

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文