2012-12-18 2 views
5

나는 phonegap 2.2.0을 사용하고 있으며, 중단없이 연주하기 위해 오디오를 반복하기 위해 몇 가지 코드를 시도했습니다. 하지만 내가 시도한 코드는 내 안드로이드 장치에서 작동하지 않습니다. 내 응용 프로그램은 기본 응용 프로그램입니다. 여기에 무엇이 잘못되었는지phonegap에서 오디오를 반복하는 방법은 무엇입니까?

 


    function playAudio(url) { 

     var my_media = new Media(url, 
      function() { 
       console.log("playAudio():Audio Success"); 
      }, 
      function(err) { 
       console.log("playAudio():Audio Error: "+err); 
      }, 
      function(status) { 
        alert(status); 
        // if (my_media.MEDIA_STOPPED === 4) { 
        //  playAudio(host_root+"resources/medias/sardana.mp3"); 
          // my_media.play(); 
        // } 
     }); 

     // Play audio 
     my_media.play({numberOfLoops:99}); 
    } 

 

당신이 말해 줄 수 : 내가 장치에서이 응용 프로그램을 실행할 때 루프가 여기에 작동되지 않고 한 번 만 재생 내 코드?

답변

3

PhoneGap에서는 아직 루핑이 Android에서 지원되지 않으므로 numberOfLoops는 iOS 기기를 제외하고는 아무 작업도 수행하지 않습니다.

+2

'var에으로 myMedia; var loop = function (상태) { if (상태 === Media.MEDIA_STOPPED) { myMedia.play(); } }; myMedia = new Media ("/ audio/my.mp3", null, null, loop); myMedia.play(); ' – Sadi

11

상태 변경 내용을 듣고 지불 시작 MEDIA_STOPPED. 당신은 사용자가이 나를 위해 일

) (snd.stop, 소리를 중지 snd.pause()를 사용하지하려면 :

document.addEventListener("deviceready", onDeviceReady, false); 

    var getPhoneGapPath = function() { 
     var path = window.location.pathname; 
     path = path.substr(path, path.length - 10); 
     return path; 
    }; 

    var snd = null; 

    function onDeviceReady(){ 
     snd = new Media(getPhoneGapPath() + "sound/funk_game_loop.mp3", onSuccess, onError, onStatus); 
     snd.play(); 
    } 

    // onSuccess Callback 
    function onSuccess() { 
    } 
    // onError Callback 
    function onError(error) { 
    } 
    // onStatus Callback 
    function onStatus(status) { 
     if(status==Media.MEDIA_STOPPED) { 
      snd.play(); 
     } 
    } 
+0

비록 약간의 대기 시간이 있습니다. – Amyth

+0

이 솔루션을 사용하고 있지만 때때로 음악이 멈출 것입니다. 마치 onStatus가 해고되지 않는 것처럼 보입니다. 이 문제가 보이는 사람은 누구입니까? – Leo

+0

새 루프를 시작할 때 약간의 지연 시간이 있습니다. 그러나 그것은 나를 위해 일합니다. – Tuan

관련 문제