0

音声入力イベントに基づいてサウンドを再生する基本的な 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を取得しましたが、そこから何をすればよいかわかりません。windowvar chrome.extension.getBackgroundPage();

オーディオファイルを再生するにはどうすればよいですか?

4

1 に答える 1

2

これが解決策です!

まず、音楽ファイルをバックグラウンドページにロードするのが良い解決策です。ただし、ポップアップページからオーディオファイルの実行をトリガーする必要があります。スクリプトは次のとおりです。

 // 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でメッセージを聞きます

 // 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

于 2013-02-25T09:27:03.203 に答える