我使用JavaScript來打一短聲在我的應用程序:PhoneGap的音頻滯後
var audio = new Audio('sound.mp3');
audio.play();
當上面的代碼被調用時,整個應用程序得到一個滯後/延遲。大約200-500ms後,應用程序會繼續正常播放聲音。在播放聲音2-3次之後,它似乎已經被緩存了或者什麼,因爲那樣它的工作原理應該沒有滯後。
在iOS的PhoneGap應用程序中測試時會出現這種情況。在Chrome桌面上運行,效果很好。
我使用JavaScript來打一短聲在我的應用程序:PhoneGap的音頻滯後
var audio = new Audio('sound.mp3');
audio.play();
當上面的代碼被調用時,整個應用程序得到一個滯後/延遲。大約200-500ms後,應用程序會繼續正常播放聲音。在播放聲音2-3次之後,它似乎已經被緩存了或者什麼,因爲那樣它的工作原理應該沒有滯後。
在iOS的PhoneGap應用程序中測試時會出現這種情況。在Chrome桌面上運行,效果很好。
您可能會考慮在啓動應用程序時加載聲音並將其保存在緩存中。然後,在需要時播放它。這應該減少一圈或甚至省略它。
謝謝。我還沒有找到一個很好的解決方案來將聲音加載到緩存,所以我可以嘗試,你知道嗎? – Rasmus
這個插件可能非常有用:https://github.com/floatinghotpot/cordova-plugin-nativeaudio –
基本上,200-500毫秒的延遲不是一個錯誤或性能問題,它是檢測可能的雙擊的必要功能。
的解決方案,以擺脫延遲的是:
1)要使用觸摸事件,而不是點擊事件的組合,或者
2)Touse fastClick如果你沒有jQuery Mobile的。
3)如果fastclick不起作用,使用此:
$('yourElement').on('touchstart', function (startEvent) {});
由於這是一個MP3連接設備需要播放前先下載文件,因此滯後。如果你想播放音樂沒有滯後,你需要流媒體。
Wowza服務器允許您使用m3u8(HLS)協議設置流媒體。
也許您正在測試的手機速度很慢? – PHPglue