8

我正在构建一个允许用户上传 MP3 文件的页面。该 MP3 文件在后端使用 LAME 转换为 .WAV 文件。

蹩脚的执行脚本在这里:

LAME --resample 44.1 -decode myDirectoryPath/Master.mp3 myDirectoryPath/Master.wav

但是,当我在 Firefox 中使用 HTML5 音频标签为该音频文件创建播放器时,它不起作用。

<!DOCTYPE HTML>
<html>

<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>

<body>
    <audio controls>
        <source src="myDirectoryPath/Master.mp3">
        <source src="myDirectoryPath/Master.wav">
    </audio>
</body>
</html>

我读过的所有内容都说 Firefox 支持 .wav 文件......我找不到一个简单的 .mp3 到 .ogg 命令行工具可以将 master.mp3 转换为 .ogg 格式。有人可以就下一步尝试什么提供一些建议吗?

我在这里发布了适用于 Safari 和 Chrome 的代码: http ://www.wgbh.org/byers/Audio/index.html

无论出于何种原因,FF 都不喜欢它。

更新 (附带 facepalm)问题在于我的 LAME 解码。正确的语法是 --decode 用两个破折号而不是一个破折号。系统实际上将其从 mp3 编码为 mp3,将其命名为 wav,Mac 上的 Safari / Chrome 假定文件类型。

4

4 回答 4

19

您的 WAV 文件的位深度是多少?Firefox 支持 8 位和 16 位 PCM,但不支持其他位深度(12、20、24、32)。

于 2012-05-02T00:38:33.330 回答
3

Firefox 期望以下编解码器之一作为 MIME 类型返回

  • 音频/波形(首选)
  • 音频/wav
  • 音频/x-wav
  • 音频/x-pn-wav

确保您的服务器为 wav 文件返回其中一种 MIME 类型。

于 2012-05-01T21:20:32.667 回答
0

除了位深度问题之外,Firefox HTML5 音频显然也不播放 6 通道音频。对于我的应用程序,我需要重新翻录以更改位深度和通道数(例如 sox inFile -b 16 -c 2 outFile otherParams)。

于 2014-11-08T23:53:14.547 回答
-1

这是 Firefox 中的错误 - 您需要将 MP3 格式源列出到最后,它会起作用。

于 2015-02-23T19:41:17.647 回答