我有一些問題讓我的音頻播放器在iOS和Android上使用PhoneGap Media插件通過Build 3.1正確工作PhoneGap媒體插件 - 你能檢測何時加載url流?
我有播放和停止按鈕,可以正常播放,但當您播放時有一個輕微的延遲音頻網址加載並凍結操作系統。我可以對付它,因爲它很短暫,所以我想我會在屏幕上彈出一個加載圖標。
我在這裏發佈了幾次試圖讓JS工作,因爲我沒有專家,但現在我已經意識到,我的代碼中沒有什麼東西來檢查音頻是否真的在播放!
playAudio函數加載音頻,然後將播放按鈕設置爲停止按鈕。我認爲function success() {
意味着它正在播放,但它實際上意味着它完成播放。
在我的代碼中,當點擊鏈接到音頻時,加載函數會使屏幕上出現一個微調,並且我認爲'成功'會關閉加載程序,因爲實際上發生了什麼是老闆停留在上面賽道結束後離開!
我意識到我需要一種檢測曲目是否實際播放的方法!
我該怎麼做?!?!!
繼承人的功能:
function loadPlay(src, trackName) {
loader();
playAudio(src, trackName);
}
function loader() {
// make a loader spinner appear as track loads
$(".loading").addClass("loadingnow");
}
function playAudio(src,trackname) {
// for Android
if (audioPlaying === false) {
if (device.platform == 'Android') {
src = '/android_asset/www/' + src;
}
media = new Media(src, success, error_error);
media.play();
//add playing class so play button is replaced with stop button
document.getElementById(trackname).parentNode.className="playing";
audioPlaying = true;
} else {
//audio is already playing
}
}
function success() {
// track isplaying so remove the stop button put play button back
$(".playing").removeClass("playing");
// now track is playing remove the loader spinner
$(".loading").removeClass("loadingnow");
audioPlaying = false;
}
function error_error(e) {
//alert('great error');
//alert(e.message);
}
function stopAudio() {
// stop playing track
if (media) {
media.stop();
audioPlaying = false;
}
}
繼承人鏈接到PhoneGap的媒體插件API: http://docs.phonegap.com/en/3.1.0/cordova_media_media.md.html#Media
我需要使用該位?
Media.MEDIA_STARTING = 1;
Media.MEDIA_RUNNING = 2;
Media.MEDIA_PAUSED = 3;
Media.MEDIA_STOPPED = 4;