Javascript 使用chrome.extension.getBackgroundPage()播放音频文件
我正试图开发一个基本的Chrome扩展,根据语音输入事件(一切都发生在后台)播放声音 这是我的舱单Javascript 使用chrome.extension.getBackgroundPage()播放音频文件,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正试图开发一个基本的Chrome扩展,根据语音输入事件(一切都发生在后台)播放声音 这是我的舱单 { "manifest_version" : 2, "name" : "Test123", "version" : "1.0", "description" : "My audio extension", "icons" : { "128" : "icon.jpg"
{
"manifest_version" : 2,
"name" : "Test123",
"version" : "1.0",
"description" : "My audio extension",
"icons" : {
"128" : "icon.jpg"
},
"permissions" : [
"experimental",
"background"
],
"background" : {
"persistent" : true,
"scripts" : [
"bg.js"
]
},
}
在bg.js
中,我使用var chrome.extension.getBackgroundPage()获取窗口
对象代码>,但我不知道该怎么做
如何播放音频文件?以下是解决方案
首先,在后台页面加载音乐文件是一个好的解决方案。但是您必须从弹出页面触发音频文件的执行。以下是脚本:
// In popup.html
<div id="play-it">Play</div>
// dont forget to use an external script file
$('#play-it').click(function(){
chrome.extension.sendMessage({action: "play"})
});
您将在google chrome官方文档中找到有关消息传递的更多信息:
// In bg.js
var audioElement = document.createElement('audio');
audioElement.setAttribute("preload", "auto");
audioElement.autobuffer = true;
var source1 = document.createElement('source');
source1.type= 'audio/mpeg';
source1.src= 'http://lezotre.free.fr/Mp3/disco.mp3';
audioElement.appendChild(source1);
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.action == "play"){
audioElement.load;
audioElement.play();
}
});