【问题标题】:Use chrome.extension.getBackgroundPage() to play an audio file使用 chrome.extension.getBackgroundPage() 播放音频文件
【发布时间】:2013-02-24 14:07:18
【问题描述】:

我正在尝试开发一个基于语音输入事件播放声音的基本 Chrome 扩展程序(一切都在后台发生)。

这是我的清单

{
  "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 中,我得到window 对象和var chrome.extension.getBackgroundPage();,但我不知道从那里做什么。

如何播放音频文件?

【问题讨论】:

    标签: javascript google-chrome google-chrome-extension


    【解决方案1】:

    这是解决方案!

    首先,在后台页面加载音乐文件是一个很好的解决方案。但是您必须从弹出页面触发音频文件的执行。这是脚本:

     // 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"})
     });
    

    然后在bg.js中你会收听Message

     // 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();
          }
    });
    

    您将在官方 google chrome 文档中找到有关消息传递的更多信息:http://developer.chrome.com/extensions/messaging.html

    【讨论】:

      猜你喜欢
      • 2012-07-31
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多