2011-12-13 2 views
0

У меня возникли проблемы с довольно простым оператором If, который я использую для запуска последовательности воспроизведения музыки. Это для автоматической кнопки предварительного просмотра. В основном это довольно средний предварительный просмотр - пользователь нажимает кнопку - воспроизведение предварительного просмотра - и изображение кнопки переключается на значок паузы, снова нажимает, и трек перестает воспроизводиться, и изображение переключается обратно.Phonegap/JQuery Mobile Android App Если проблема

В настоящее время я получил следующий сценарий -

var playingTwo=false; 
var playthis=null; 

function previewThis(preview){ 
playthis = "/android_asset/www/" +"Paradise"+".mp3" 
prevMedia= new Media(playthis, stopAudio, null); 
playPrev(); 
} 




function playPrev() { 
if (!playingTwo) { 
    prevMedia.play(); 
      $('.playBtnPrev').removeClass('sel') 
    playVarTwo(); 

} else { 
    prevMedia.stop(); 
      $('.playBtnPrev').addClass('sel') 
    pauseVarTwo();    
} 
} 



function playVarTwo(){setTimeout(function() { 

    playingTwo = true; 
}, 1000);} 


function pauseVarTwo(){setTimeout(function() { 
playingTwo = false; 

}, 1000); 

} 


    $('.playBtnPrev').live('tap',function(event) {previewThis();}); 

В основном previewThis() сценарий будет в конечном счете названия дорожки, переданное ему, он устанавливает местонахождение средств массовой информации и запускает() скрипт playPrev - кнопка воспроизведения определяет, будет ли ее уже играться, если она не воспроизводится, если ее уже воспроизводится, она приостанавливается и переключает изображения согласно - все довольно просто.

Первоначально я завернул все функции состояния в каждом операторе If, хотя это хорошо работало в браузере - на мобильном языке оператор if работал как в состоянии - так что он остановился и запустил трек со вторым разрывом. Поэтому я разделил изменение состояния на заданную функцию таймаута, чтобы сделать, если оно было закончено до того, как состояние изменилось - но до сих пор нет радости, теперь он дважды воспроизводит дорожку (перекрывается), поэтому он сводит меня с ума!

Может ли кто-нибудь предложить какие-либо советы, пожалуйста?

Приветствие Пол

ответ

0

Я включил свой код в существующем jquerymobile шахте, и после комментария некоторых функции, как часть Instancing медиаобъекта ...

Я вижу ошибку:

«playTwo не определен»

Я думаю, что вы должны установить var playingTwo; перед функцией previewThis.

Дайте мне знать, если это решит проблему.

Удачи!

+0

Спасибо, ребята, это на самом деле там, я просто пропустил его в приведенном выше примере - теперь я добавлю! – Dancer

0

как писал @Mariano, я предлагаю добавить в верхней части файла:

var playingTwo = false; 

, так как это, вероятно, не назначается (и не создана), когда вы уже проверки это значение.

Надеюсь, это поможет!

+0

Cheers Leon - Это в моем коде - я просто пропустил его выше – Dancer