2014-09-13 4 views
0

내 노래 파일이 브라우저 또는 Android 에뮬레이터에서 실행되지 않는 이유를 알아낼 수 없습니다. 다음은 내 코드입니다. 나는 구글의 모든 일을 시도했지만 본 문서의 파일 경로 앞에// android_asset/WWW를 추가 할 수 Media Docementation오디오 파일이 코 도바에서 실행되지 않는 이유를 모르십니까?

<!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-2.4.0.js"></script> 
    <script type="text/javascript" charset="utf-8"> 

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

    // Cordova is ready 
    // 
    function onDeviceReady() { 
     playAudio("song/Banjaara.mp3"); 
    } 

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

    // Play audio 
    // 
    function playAudio(src) { 
     alert('In Play Audio'); 
     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('song/Banjaara.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

시도를 내가 일하는 해결책을 찾을 수 없습니다. 나는 안드로이드가 절대 경로를 필요로한다는 것을 기억한다. 따라서 코드는 다음과 같아야합니다.

playAudio("/android_asset/www/song/Banjaara.mp3"); 

물론 노래 폴더가 기본 HTML 디렉토리에있는 경우 물론입니다.

+0

아니요. 도움 안 됨 –

+0

onDeviceReady가 해고 되었습니까? onDeviceReady가 실행 중인지 확인하기위한 경고 또는 다른 것 – gesiud

관련 문제