2015-05-29 21 views
0

我試圖用PhoneGap媒體插件製作一個圖像/聲音庫,但我遇到了一個問題。當我點擊一張圖片時,聲音播放,但是當我點擊另一張時,它也會播放該圖片。任何想法我怎麼能讓他們一次播放一個聲音?Phonegap媒體插件一個時間的聲音

<script type="text/javascript" charset="utf-8"> 
 

 
     // Audio player 
 
     // 
 
     var my_media = null; 
 
     var mediaTimer = null; 
 

 
     // Play audio 
 
     // 
 
     function playAudio(src) { 
 
      // Create Media object from src 
 
      my_media = new Media(src, onSuccess, onError); 
 

 
      // Play audio 
 
      my_media.play(); 
 

 
      // Update my_media position every second 
 
      if (mediaTimer == null) { 
 
       mediaTimer = setInterval(function() { 
 
        // get my_media position 
 
        my_media.getCurrentPosition(
 
         // success callback 
 
         function(position) { 
 
          if (position > -1) { 
 
           setAudioPosition((position) + " sec"); 
 
          } 
 
         }, 
 
         // error callback 
 
         function(e) { 
 
          console.log("Error getting pos=" + e); 
 
          setAudioPosition("Error: " + e); 
 
         } 
 
        ); 
 
       }, 1000); 
 
      } 
 
     } 
 

 
     // Pause audio 
 
     // 
 
     function pauseAudio() { 
 
      if (my_media) { 
 
       my_media.pause(); 
 
      } 
 
     } 
 

 
     // Stop audio 
 
     // 
 
     function stopAudio() { 
 
      if (my_media) { 
 
       my_media.stop(); 
 
      } 
 
      clearInterval(mediaTimer); 
 
      mediaTimer = null; 
 
     } 
 

 
     // onSuccess Callback 
 
     // 
 
     function onSuccess() { 
 
      console.log("playAudio():Audio Success"); 
 
     } 
 

 
     // onError Callback 
 
     // 
 
     function onError(error) { 
 
      alert('code: ' + error.code + '\n' + 
 
        'message: ' + error.message + '\n'); 
 
     } 
 

 
     // Set audio position 
 
     // 
 
     function setAudioPosition(position) { 
 
      document.getElementById('audio_position').innerHTML = position; 
 
     } 
 

 
     </script>
<a href="#" class="btn large" onclick="playAudio('http://design.ps4fix.co.uk/arMonika/Audio.mp3');"><img src="arMonika/audio.png" width="147" height="147" /></a> 
 
<a href="#"class="btnlarge"onclick="playAudio('http://design.ps4fix.co.uk/arMonika/komp.v.sepc.mp3');"><img src="arMonika/k.tech.spec.png" width="141" height="141" /></a>

回答

1

對於那些誰擁有了同樣的問題: 當你開始定義您的播放器,播放器或變量「媒體」專賣店,你的情況是「my_media」。

要解決此問題,只需將變量「my_media」定義爲全局變量。 ,然後每一個環節應該發揮你需要停止你的previos媒體和存儲新媒體在像這樣的變聲:

 my_media.stop 
     new Media(src, onSuccess, onError); 

只是becareful如何定義它的變量爲全局變量。

希望它有幫助。

相關問題