我想在镀铬扩展中播放声音。我该怎么做?我应该在 myscript.js 文件中写什么?
我试着写下myscript.js:
var audio = new Audio("alarm.wav");
audio.play();
和
document.write('<audio id="player" src="alarm.wav" >');
document.getElementById('player').play();
但它不起作用。我没有添加更多内容,因此没有任何未满足的条件。
我的manifest.json文件:
{
"name": "Alarm",
"version": "1.0.0",
"icons": {"64": "icon64.png"},
"permissions": [
"http://site1/",
"http://site2/"
],
"content_scripts": [
{
"matches": ["http://site1/", "http://site2/"],
"js": ["myscript.js"],
"run_at": "document_end"
}
],
"manifest_version": 2
}
如果我在myscript.js文件中添加按钮到站点,这个按钮效果很好,但是我无法播放声音。我的音频文件是mp3,与manifest.json和myscript.js在同一个文件夹中,我的myscript.js是:
var myAudio = new Audio();
myAudio.src = "alarm.mp3";
myAudio.play();
答案 0 :(得分:6)
使用JavaScript播放某些声音/音乐的最简单方法是使用Audio
对象:您只需要在扩展文件夹中播放要播放的文件,然后就可以这样播放:< / p>
var myAudio = new Audio(chrome.runtime.getURL("path/to/file.mp3"));
myAudio.play();
您可以使用play()
进行游戏并暂停pause()
。
请记住,如果您想在内容脚本(或不在chrome://extension
网址下的任何其他位置)播放声音,您必须在web_accessible_resources
中声明音频文件清单字段:
"web_accessible_resources": [
"path/to/file.mp3"
]
您可以下载我从 HERE 制作的测试扩展程序。当您单击stackoverflow.com页面内的任何内容时,它会通过内容脚本播放声音。