我应该为 HTML 嵌入选择哪种音频格式和哪种压缩方式?

Posted

技术标签:

【中文标题】我应该为 HTML 嵌入选择哪种音频格式和哪种压缩方式?【英文标题】:Which audio format and what compression should i choose for HTML embed? 【发布时间】:2011-06-09 07:37:39 【问题描述】:

我有一个 Web 应用程序,它使用 jQuery 来根据用户请求加载一些声音效果。该文件当前压缩为 WAV 16bit,占用 415kb。我不知道我应该选择什么压缩级别或格式才能将此文件嵌入到小尺寸的 html 并在所有浏览器上播放。

无法转换为单声道 我确实尝试过转换为大小减少 20 倍的单声道,并且我能够在 Windows 中播放它,但浏览器无法播放它。

间距缩小 我稍微增加了声音的音高,使其更短,因此将初始大小从 415kb 减小到 210kb。

谢谢

【问题讨论】:

【参考方案1】:

jPlayer 是一个不错的 jQuery 库,可以用来播放声音。如果您想以编程方式播放声音,您可能需要自定义播放器的显示以使其隐藏。

您可能需要以多种格式对声音进行编码,但如果未检测到原生 HTML5 音频支持,jPlayer 可以处理回退到 Flash。

编辑: mp4 和 ogg 可以在大多数浏览器上播放。现代浏览器对声音格式的支持可以是seen here。尝试压缩为 .mp4、.mp3 或 .ogg - 其中任何一个都可能使文件大小增加一个数量级或更大。此外,可能会播放其中一种格式的文件的 单声道 版本,从而再次减小文件大小。

我认为您确实需要根据您的音质和文件大小要求尝试不同的比特率。我将从 128kb 立体声(如果原始 .wav 为立体声).mp3 开始,如果文件大小太大无法满足您的要求,则降低比特率和/或声道;这是针对公司 Intranet、公共站点、移动站点……吗?例如,较大的声音文件在公司的内部网站上可能是可以接受的,但在移动设备上是不可接受的。

编辑2:来自http://html5doctor.com/native-audio-in-the-browser/

如果开发人员想要充分利用所有支持 HTML5 音频的浏览器,他们需要创建他们想要流式传输的音频文件的 MP3 和 Ogg(在 Opera 中是 WAV)版本!

编辑 3:关于浏览器音频支持的 comprehensive summary。

【讨论】:

我知道如何在没有 jQuery 和插件的情况下使用 javascript 播放声音。我希望所有浏览器都可以接受声音格式和压缩级别。 我已经用更多建议更新了我的答案。如果浏览器支持特定格式,它应该支持该格式提供的完整比特率范围。 我将采用您的方法,因为您的意思是并非所有浏览器都可以正确播放 wav 格式,因此我已经嵌入了 jPlayer .wav、.mp3 和 .ogg。 jPlayer 文件大小非常小,因此即使在播放 .wav 文件的最坏情况下我也可以忍受它 在调查 HTML5 <audio> 的另一个问题时,我发现 jPlayer documentation 提到对于带有 Flash 的 .mp3 文件,采样率必须是 11,0025Hz 的倍数。只是想我会让你知道:-)【参考方案2】:

如果您希望所有浏览器都支持它,您将需要某种基于 Flash 的播放器,它能够播放 MP3 文件。

如果您使用的是 jPlayer 等插件,它会嵌入 Flash 播放器以实现向后兼容性(您可以使用 MP3 文件)。 jPlayer 还支持 OGG 格式,以便在较新的浏览器(以及 MP3)上进行 HTML5 原生播放

【讨论】:

我想要比集成播放器更快的解决方案,如果没有其他选项可用,我将嵌入此播放并使用 mp3 算法压缩。 +1 先添加这个插件,@andyb 只是给了我更多使用它而不是简单嵌入的理由。

以上是关于我应该为 HTML 嵌入选择哪种音频格式和哪种压缩方式?的主要内容,如果未能解决你的问题,请参考以下文章

压缩文件哪个格式最小?

我应该为 iPhone 和 iPad 上的 <video> 标签使用哪种视频格式?

iPhone 和 Android 可以录制和播放哪种音频格式?

使用哪种技术在 iPhone 上播放音频?

哪种音频文件格式最容易操作?

linux下用哪种压缩格式文件最小