0

我正在为 Firefox Mobile (Fennec) 编写一个扩展,它应该会播放声音。使用nsISound,即

var sound = ios.newURI(pathToSoundFile, null, null);
var player = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound);
player.play(sound);

在桌面版 Firefox 上运行良好,但在 FF Mobile 上不会产生任何声音。我还尝试在网站上附加一个音频元素,

var audioElement = win.content.document.createElement('audio');
audioElement.setAttribute('id','audio_test');
audioElement.setAttribute('src',pathToSoundFile);
win.content.document.body.appendChild(audioElement);
win.content.document.getElementById('audio_test').play();

这可行,但前提是该网站本地存储在我的计算机上(我假设是由于安全限制)。

我在装有 Android 4.2 的华硕 Transformer 平板电脑上对此进行了测试。有什么建议么?

4

1 回答 1

0

nsISound 未在 Fennec 上实现。

HTML5 音频应该与数据 URIs 一起使用。读取您的音频文件,对其进行 base64 编码并将其作为 src 传递,例如"data:audio/ogg;base64," + base64encodeddata

于 2013-02-21T23:18:13.057 回答