2015-10-18 42 views
7

我有一個餐廳的控制面板,它會在發出訂單時播放警報聲。問題在於,如果控制面板選項卡不是Chrome中的活動選項卡(對於Firefox也是如此),則不會播放警報聲。點擊標籤後,播放聲音。從INACTIVE瀏覽器選項卡播放聲音

我看到一些網站(Facebook Chat,Cloudstats.me服務器警報,...)播放聲音,即使它們處於非活動狀態選項卡,那麼該問題的解決方法是什麼?

回答

8

也有類似的事情發生在我身上,我們試圖在股市開盤並在當天關閉時播放市場時鐘。我們遇到的問題是我們嘗試加載mp3,然後在條件滿足時播放它。原來我是這樣的。

var bell; 

// Update the clock, countdown, and tooltips as needed. 
function updateClock() { 
    service.getMarketDate(function(data) { 

     if (data.soundMarketBell) { 
      if (!bell) { 
       bell = new Audio('/sounds/marketclock.mp3'); 
      } 
      bell.play(); 
     } 
    }); 
} 

var intervalId = $interval(updateClock, 1000); 

通過移動資源裝載在頁面加載發生,然後就調用它Audio.play固定的問題

var bell = new Audio('/sounds/marketclock.mp3'); 

// Update the clock, countdown, and tooltips as needed. 
function updateClock() { 
    service.getMarketDate(function(data) { 
     if (data.soundMarketBell) { 
      bell.play(); 
     } 
    }); 
} 

// check for a time update every second 
// to balance accuracy with performance 
var intervalId = $interval(updateClock, 1000) 

瀏覽器限制加載資源,當標籤處於非活動狀態