Воспроизведение звука в дополнении Firefox - PullRequest
7 голосов
/ 30 августа 2010

Я хотел бы создать простое дополнение, которое будет воспроизводить другую запись MP3 каждый раз, когда пользователь дважды щелкает слово на веб-странице, которую он посещает, и выбирает специальную опцию в контекстном меню.

Файлы MP3 находятся на удаленном сервере.Обычно я бы использовал JavaScript + Flash для воспроизведения файла MP3.Однако в дополнении Firefox я не могу загрузить внешние скрипты по какой-то причине (воспроизведение звука работает нормально, если загружает скрипты сама веб-страница, но, конечно, мне нужно, чтобы она работала с каждым сайтом, а не толькоте, которые включают в себя сценарий).

Так какой самый простой способ воспроизвести удаленный файл MP3 в дополнении Firefox с помощью JavaScript?

Ответы [ 4 ]

5 голосов
/ 06 октября 2010

Это может не полностью решить ваш вопрос, так как я не верю, что он воспроизводит 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);

Удачи, надеюсь, это хотя бы приблизит вас!

0 голосов
/ 25 сентября 2015
var window = require('sdk/window/utils').getMostRecentBrowserWindow();
var audio = ('http://example.com/audio.mp3');
audio.play();
0 голосов
/ 26 апреля 2012

Вот рабочий код ....

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);  
0 голосов
/ 12 октября 2010

См. http://www.mozdev.org/pipermail/project_owners/2008-February/011041.html

=> nsISound

Вы не можете воспроизводить удаленные файлы из XUL, что является ограничением безопасности.Вы можете загрузить сайт, который воспроизводит звук в качестве обходного пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...