2

IonicフレームワークでiOSとAndroidでMediaを再生するサービスを作成しました。 CordovaのMediaプラグインを使用しています。私はinitメディアオブジェクトであり、このコードでJava Scriptで再生しますが、未定義のオブジェクトエラーを返します。 Java Script Ionic frameworkの未定義オブジェクト

var self = { 
'currentTrack': null, 
'initPlayer': function (videoID) { 
self.currentTrack = Media(IP_ADDRESS + 'stream/'+videoID); 
//self.currentTrack = _track; 
console.log('initd'); 
}, 
'Play': function() { 
console.log(self.currentTrack); 

    self.currentTrack.play(); 



} 
}; 

そしてテンプレートで、私はこの方法でaudioPlayerをINIT:

<button ng-click="audioPlayer.Play()" 

エラー:

Error: undefined is not an object (evaluating 'self.currentTrack.play') 
私は、再生機能を宣言

<ion-content ng-init="audioPlayer.initPlayer('foo')> 

とボタンで

+1

メディア変数を初期化する前に、deviceReadyイベントを待っていますか? –

+0

@JuanFernandezSosa私はionic.Platform.ready(function(){})を使用しています。デバイスの準備ができたらどうすればいいですか?ありがとう –

+0

はい、他の方法はコードバスのためのdevicereadyイベントを使用しています:document.addEventListener( "deviceready"、successCallback、errorCallback); Chromeのインスペクタでブレークポイントを使用してアプリをデバッグしようとしていますか? –

答えて

0

あなたのアプリをブラウザでは、開発中にブラウザでCordovaプラグインが動作しません。 プラグインを操作するには、アプリケーションをビルドする必要があります。 リモートデバッグツールを使用して、 ".apk"または ".ipa"をデバッグすることができます。 リモートデバッグの詳細についてはhereを参照してください。

はあなたがdevicereadyイベントですべてのコードを実行している

  1. 、次の点に注意してください。
  2. cordova.jsファイルは、読み込んでいる最初のjsファイルである必要があります。
+0

はい、私はそれを知っています、私は実際のデバイスとシミュレータでテストしています。ありがとうございます –

+0

devicereadyイベントですべてのコードを実行していることを確認してください。 –

+0

また、cordova.jsファイルは、読み込んでいる最初のjsファイルでなければなりません。 –

関連する問題