2017-05-17 8 views
0

cordova-plugin-media가 작동하지 않습니다. 나는 안드로이드 스튜디오와 맥용 안드로이드 에뮬레이터를 사용하고 있는데, 이것이 나의 코드이다. index.html 파일에서 onclick을했는데 아무 일도 일어나지 않습니다. index.js 파일에 미디어 플러그인의 코드를 추가했습니다. 모든 codrova 파일과 미디어 플러그인이 설치되고 추가됩니다.cordova-plugin-media 최신 버전 무엇이 잘못 되었습니까?

하는 index.js

var app = { 
// Application Constructor 
initialize: function() { 
    document.addEventListener('deviceready', 
this.onDeviceReady.bind(this), false); 
}, 

// deviceready Event Handler 
// 
// Bind any cordova events here. Common events are: 
// 'pause', 'resume', etc. 
onDeviceReady: function() { 
    this.receivedEvent('deviceready'); 

var my_media = null; 
// Play audio 
// 
function playAudio(src) { 
// Play the audio file at url 
var my_media = new Media(src, 
    // success callback 
    function() { 
     console.log("playAudio():Audio Success"); 
    }, 
    // error callback 
    function (err) { 
     console.log("playAudio():Audio Error: " + err); 
    } 
); 
// Play audio 
my_media.play(); 
} 


}, 

// Update DOM on a Received Event 
receivedEvent: function(id) { 
    var parentElement = document.getElementById(id); 
    var listeningElement = parentElement.querySelector('.listening'); 
    var receivedElement = parentElement.querySelector('.received'); 

    listeningElement.setAttribute('style', 'display:none;'); 
    receivedElement.setAttribute('style', 'display:block;'); 

    console.log('Received Event: ' + id); 
} 
}; 

app.initialize(); 

<div data-role="main" class="ui-content"> 
      <span class="ui-block-a"> 
      <img src="img/grongoling.jpg"><h2>Gröngöling</h2> 
      <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui- 
btn-icon-notext right" onclick="playAudio('sounds/grongoling.mp3');"> 
</a> 
      </span> 
      <span class="ui-block-a"> 
      <img src="img/kattuggla.jpg"><h2>Kattuggla</h2> 
      <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui- 
btn-icon-notext right" 
onclick="playAudio('sounds/kattuggla.mp3');"></a> 
      </span> 
      <span class="ui-block-a"> 
      <img src="img/korp.jpg"><h2>Korp</h2> 
      <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui- 
btn-icon-notext right" 
onclick="playAudio('sounds/korp.mp3');"></a> 
      </span> 
      <span class="ui-block-a"> 
      <img src="img/storrehackspett.jpg"><h2>Större 
Hackspett</h2> 
      <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui- 
btn-icon-notext right" 
onclick="playAudio('sounds/storrehackspett.mp3');"></a> 
      </span> 
      <span class="ui-block-a"> 
      <img src="img/tofsvipa.jpg"><h2>Tofsvipa</h2> 
      <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui- 
btn-icon-notext right" 
onclick="playAudio('sounds/tofsvipa.mp3');"></a> 
      </span> 
      </div> 
+0

문제를 더 잘 설명 할 수 있도록 게시물을 업데이트 해 주실 수 있습니까? – moritzg

+0

@VladimirGatara 플러그인 호출 중 콘솔에 오류가 있습니까? – Gandhi

답변

0

나는 당신이 playAudio()를 정의해야합니다 생각 index.html을 - onDeviceReady (외부 기능) - 기능은 전 세계적으로 그것을 만들 액세스 가능하며 HTML에서 직접 호출 할 수 있습니다.

또한 함수 밖에서 my_media 변수를 initiliaze하고 함수 내에서 var로 다시 작성하십시오. 전역 변수 my_media를 만들고 var없이 함수에 설정하거나 함수에서 매번 생성하는 방법을 생각해보십시오.

+0

Plugin code invocaion이 장치 준비 상태가 아닌 경우에는 발생하지 않습니다. 그래서 나는 그것이 유효하지 않을 것 같아요. – Gandhi