Audio 在Firefox插件中播放声音

Audio 在Firefox插件中播放声音,audio,firefox-addon,Audio,Firefox Addon,我想创建一个简单的插件,每当用户双击他正在访问的网页中的一个单词并从上下文菜单中选择一个特殊选项时,它将播放不同的MP3录音 MP3文件位于远程服务器上。通常我会使用JavaScript+Flash来播放MP3文件。但是,在Firefox插件中,由于某种原因,我无法加载外部脚本(如果加载脚本的是网页本身,则播放声音效果很好,但当然我需要它来处理每个网站,而不仅仅是包含脚本的网站) 那么,使用JavaScript在Firefox插件中播放远程MP3文件的最简单方法是什么呢?这可能不能完全解决您的问

我想创建一个简单的插件,每当用户双击他正在访问的网页中的一个单词并从上下文菜单中选择一个特殊选项时,它将播放不同的MP3录音

MP3文件位于远程服务器上。通常我会使用JavaScript+Flash来播放MP3文件。但是,在Firefox插件中,由于某种原因,我无法加载外部脚本(如果加载脚本的是网页本身,则播放声音效果很好,但当然我需要它来处理每个网站,而不仅仅是包含脚本的网站)


那么,使用JavaScript在Firefox插件中播放远程MP3文件的最简单方法是什么呢?

这可能不能完全解决您的问题,因为我不相信它可以播放MP3,但我不确定

Firefox有nsISound,我知道它可以播放远程WAV文件,我已经测试并证明了这一点

你可能想自己测试一下,看看它是否能让你更接近它

var ios = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService);
var sound = ios.newURI("http://www.yoursite.com/snds/haha.wav", null, null); 
var player = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound);

player.play(sound);

祝你好运,我希望这至少能让你接近

这是一个工作代码

var sound = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound); 
var soundUri = Components.classes['@mozilla.org/network/standard-url;1'].createInstance(Components.interfaces.nsIURI); 
soundUri.spec = "chrome://secchat/content/RING.WAV"; 
sound.play(soundUri);  

我知道这是个老问题,但如果有人需要一种方法来解决:

let player = document.createElement("audio");
player.src = browser.runtime.getURL(SOUND_URL);
player.play();
有一个警告:用户必须允许在网站上自动播放

let player = document.createElement("audio");
player.src = browser.runtime.getURL(SOUND_URL);
player.play();