Я обыскал весь Интернет, чтобы найти решение своей проблемы, но не нашел его: (
Итак, я создаю приложение SoundBoard, используя Phonegap и Xcode, и мою проблемуо остановке звука с той же кнопки, которую я использовал для воспроизведения звука, но я не могу этого сделать, я думаю, что это невозможно для меня!
Это часть Javascript с функциями Play и Stopи функцию IsPlaying, которую я создал, пытаясь определить, воспроизводится ли звук, или нет, используя переменную SoundPlaying:
<script type="text/javascript" charset="utf-8">
SoundPlaying = false
...
function playAudio(url) {
// Play the audio file at url
var my_media = new Media(url,
// success callback
function() { console.log("playAudio():Audio Success");},
// error callback
function(err) { console.log("playAudio():Audio Error: "+err);});
// Play audio
my_media.play();
}
// Stop audio
//
function stopAudio() {
if (my_media) {
my_media.stop();
}
clearInterval(mediaTimer);
mediaTimer = null;
}
function IsPlaying(url) {
if (SoundPlaying==false) { playAudio(url); SoundPlaying=true; alert('SoundPlaying is ' + SoundPlaying); }
else { stopAudio(); SoundPlaying=false; alert('SoundPlaying is ' + SoundPlaying); }
}
</script>
И затем я попытался вызвать функцию IsPlaying из кнопки: если переменная SoundPlaying имеет значение falseзатем воспроизведите звук и установите SoundPlaying как true, ELSE остановите звук и установите SoundPlaying как false
<button id='button'
style="background-image:url(imgs/image.png);"
onClick = "IsPlaying('msk/sound.mp3');" >
</button>
Это похоже на то, что ELSE часть утверждения не проверена, но часть IF да. Действительно, я могусм. окно с предупреждением о том, что SoundPlaying имеет значение true, но нет, если я нажму на кнопку второй раз ... или третий ... и т. д.
Можете ли вы помочьменя ??
Большое спасибо!
Витторио