2012-10-11 8 views
0

안녕 얘들 아, 내가 전화 phonegap api를 사용하여 오디오를 재생, 일시 정지 및 정지합니다. 지금까지 나는 중지 및 일시 정지, 재생 관리,하지만 난 아래 음성 전화 걸기 재시작

내가 지금

var my_media = null; 
    var mediaTimer = null; 
    var pausePos = 0; 
    var counter=0; 
    var playing=false; 


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

// Play audio 

my_media.play(); 


    // get audio duration 
var duration = my_media.getDuration(); 

// set slider data 
if(duration > 0){ 
    $('#slider').attr('max', Math.round(duration)); 
    $('#slider').slider('refresh'); 
} 



// 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); 
       } 
      }, 
      // error callback 
      function(e) { 
       console.log("Error getting pos=" + e); 
       setAudioPosition("Error: " + e); 
      } 
     ); 
    }, 1000); 
} 

}

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

function resumeAudio() 
    { 

} 

/* stop audio */ 
    function stopAudio() { 
if (my_media) { 
    my_media.stop(); 
    playing = false; 
    my_media.release(); 
    } 
clearInterval(mediaTimer); 
mediaTimer = null; 
pausePos = 0; 
} 




    // 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) { 
      pausePos = position; 
      position = Math.round(position); 
      $('#slider').val(position); 
     $('#slider').slider('refresh'); 
    } 


    function player(id) 
    { 
     //alert(id); 
     playAudio("/sdcard/MuseumCache/"+id+"/"+id+".mp3"); 
      //alert("end"); 
    } 

까지 작성한 코드입니다 나에게 도움을 주시기 바랍니다 다시 시작하는 방법을 모른다 이력서 기능을 쓰도록 도와주세요. 그들은 media.play 말했다() 재생 및 폰갭 media.play 시작하거나 이력서 오디오 파일의 문서 당으로 오디오 파일

답변

0

재생을 다시 시작합니다.

media.play: Start or resume playing audio file. 

링크를 찾을 수 있습니다 here

+0

동일한 문제가 있으며 오디오 파일을 일시 중지하면 재생을 클릭하면 오디오 파일이 다시 시작됩니다 ... – Francesco

1

좋아 내가 좋아 솔루션 : 당신은 다시 초기화하지 않아야합니다 : 폰갭의 문서가 심하게 그래서 그 예

요점은 실수입니다 설명 ... 끔찍 미디어를 재생할 때마다 양식이 시작됩니다.

var my_media == null; 
function playAudio(url) { 
      if (my_media === null){ 
       // so only is your media handler is empty you initialiaze it otherwise you just play 
          my_media = new Media(url, function() { 
           console.log("Audio Success"); 
          }, function(err) { 
           console.log("Audio Error"); 
          }); 
      } 
      my_media.play(); 
} 
0

Francesco 귀하의 솔루션은 귀하가 ne 사운드를 재생하면 동일한 페이지에 여러 사운드가있는 경우 각 플레이어는 첫 번째 미디어의 속성을 가져옵니다.