1
A
回答
2
當然! :)你需要爲此添加一個附加組件,但我可以幫你解決相關的細節問題。抓取一個wav文件並將其放入您的附件data
目錄中;我打電話給我的'ding.wav'
我採取了低級別看標籤的方法,雖然這可能不適合你。還有另一個更高層次的方法,也可以工作,我在下面添加了一個描述。但是,此代碼確實有效。
var {Cc, Ci, Cr} = require("chrome");
var data = require('sdk/self').data;
var tabutils = require('sdk/tabs/utils');
// utility function
function newURI(uriStr, base) {
var ios = Cc['@mozilla.org/network/io-service;1']
.getService(Ci.nsIIOService);
try {
var baseURI = base ? ios.newURI(base, null, null) : null;
return ios.newURI(uriStr, null, baseURI);
}
catch (e) {
if (e.result === Cr.NS_ERROR_MALFORMED_URI) {
throw new Error("malformed URI: " + uriStr);
} else if (e.result === Cr.NS_ERROR_FAILURE ||
e.result === Cr.NS_ERROR_ILLEGAL_VALUE) {
throw new Error("invalid URI: " + uriStr);
}
}
return null;
}
// actual function
function attachToTabs() {
tabutils.getTabs().forEach(function (tab) {
if (tab.getAttribute('pinned') === 'true') {
var browser = tabutils.getBrowserForTab(tab);
browser.addEventListener('DOMTitleChanged', function() {
try {
var sound = Cc["@mozilla.org/sound;1"].createInstance(Ci.nsISound);
sound.play(newURI(data.url('ding.wav')));
} catch (e) {
console.log(e);
}
});
}
});
}
// call the actual function to run on startup
attachToTabs();
此代碼不主動監視被固定的新選項卡,我會將其留給您。它只在啓動時運行一次,以附加到現有的固定選項卡,因此每次固定聲音的新選項卡時都必須重新啓動。
-
相比於這種方法,你也可以採取使用標籤模塊連接到被鎖定的選項卡的更高水平的方法。 addon-sdk tabs module提供了一種方法來查看選項卡被固定,然後附加到該選項卡。一旦連接,您就可以從內部觀看標籤內容以進行標題更改事件,然後在此刻播放您的聲音。
相關問題
- 1. 在標籤上播放聲音點擊
- 2. 在Android中播放時錄製聲音並更改其音高?
- 3. 如何在用戶點擊UITabBarController標籤時播放聲音
- 4. 綁定更新時播放聲音
- 5. 在播放聲音時錄製音頻
- 6. 如何在objective-c中更改聲音播放開始時間?
- 7. 播放聲音
- 8. 播放聲音
- 9. 播放聲音?
- 10. 同時播放聲音Android
- 11. 我希望YouTube播放的總量爲
- 12. 在播放聲音時一路向上播放音量Android
- 13. Android動畫無法正常工作 - 無法播放,希望當聲音文件停止時停止播放
- 14. 如何從D3js選擇中的音頻標籤播放聲音?
- 15. Drupal在鼠標上播放聲音
- 16. 播放無音頻標籤的音頻
- 17. 實時播放接收到的聲音時的聲音回聲
- 18. VC++播放聲音
- 19. Ruby聲音播放
- 20. MonoTouch:播放聲音
- 21. 聲音未播放
- 22. 聲音未播放
- 23. Java聲音。暫時靜音背景音樂並播放聲音
- 24. 在C中同時播放聲音#
- 25. 在錄製失敗時播放聲音
- 26. 在dateView中播放聲音時dateView == dateTime.Now
- 27. 在編譯時播放聲音
- 28. 在C++中播放聲音
- 29. 在android中播放聲音
- 30. 在Android上播放聲音
哦,還有,感謝Wlad從http://stackoverflow.com/questions/10661507/how-to-play-audio-in-an-extension獲取他的音頻代碼片段,並提防它可能會很快被棄用。 – 2013-02-21 00:10:50
Tx爲您的幫助!我在[GitHub](https://github.com/judgeprophet/BingPinTab)上提供了我的AddOn。最後我做了一個帶有切換開關功能的Widget。 – JudgeProphet 2013-02-21 18:55:31