2015-01-19 2 views
0

나는이 기능을 사용하는 루트합니다 (index.html을)phonegap : 로컬 사운드 오디오를 재생하는 방법?

내 사운드 파일 (tictac.mp3)을 넣어 가지고 : playAudio("tictac.mp3");

내가 돈을 전화

function playAudio(src) { 
    console.log("playAudio "+src); 
    var media = new Media(src, onSuccess, onError); 
    media.play({numberOfLoops: 1}); 
} 
function onSuccess() { 
    console.log("playAudio():Audio Success"); 
} 

function onError(error) { 
    console.log('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); 
} 

과 내 안드로이드 및 내 응용 프로그램에 내 소리가 없어 내 안드로이드에 내 응용 프로그램 로그 그냥 날 준다 :

playAudio tictac.mp3 
!

<feature name="http://api.phonegap.com/1.0/file"/> 
<feature name="http://api.phonegap.com/1.0/media"/> 
<feature name="http://api.phonegap.com/1.0/network"/> 
<gap:plugin name="org.apache.cordova.media" /> 

내가 잘못 뭐하는 거지 :

사운드가 전혀없고 성공도 오류

내 config.xml에 다음 라인이 없다?

는 또한

function playAudio(src) { 
    console.log("PlayAudio"); 
    if (typeof Audio != "undefined") { 
     new Audio(src).play() ; 

    // Phonegap media 
    } else if (typeof device != "undefined") { 
     console.log("Phonegap media"); 
     // Android needs the search path explicitly specified 
     if (device.platform == 'Android') { 

      src = '/android_asset/www/' + src; 
      console.log("Android", src); 
     } 

     var mediaRes = new Media(src, 
      function onSuccess() { 
       // release the media resource once finished playing 
       mediaRes.release(); 
      }, 
      function onError(e){ 
       console.log("error playing sound: " + JSON.stringify(e)); 
      }); 
     mediaRes.play(); 

    } else { 
     console.log("no sound API to play: " + src); 
    } 
} 

내가 내 프로젝트에 cordoba.js 또는 phonegap.js을 포함해야이 코드를 시도?

답변

0

당신이 코르도바 문서에서 전체 예제를 시도해 봤어 (I은 폰갭 빌드 서비스를 사용)?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
         "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
    <head> 
    <title>Media Example</title> 

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
    <script type="text/javascript" charset="utf-8"> 

    // Wait for device API libraries to load 
    // 
    document.addEventListener("deviceready", onDeviceReady, false); 

    // device APIs are available 
    // 
    function onDeviceReady() { 
     playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3"); 
    } 

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

    // Play audio 
    // 
    function playAudio(src) { 
     if (my_media == null) { 
      // Create Media object from src 
      my_media = new Media(src, onSuccess, onError); 
     } // else play current audio 
     // 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> 
    </head> 
    <body> 
    <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a> 
    <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a> 
    <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a> 
    <p id="audio_position"></p> 
    </body> 
</html> 
+0

번호 : 그것은 너무 복잡하고 긴하고 HTTP 소스 파일 및 – yarek

+0

LOCAL NOT을 사용 beacuse ... 해당 지역의 URL을 사용하여 외부 파일에 대한 링크를 교체 beacuse! – Sithys

관련 문제