Java 脚本 Ionic 框架中的未定义对象

Undefined object in Java Script Ionic framework

我在 Ionic 框架中编写了用于在 iOS 和 Android 上播放媒体的服务。它使用 Cordova 的媒体插件。我是初始化媒体对象并在 Java 脚本中使用此代码播放它,但它 returns 未定义对象错误。

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:

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

并在一个按钮中声明了播放功能:

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

错误:

Error: undefined is not an object (evaluating 'self.currentTrack.play')

如果您在浏览器中开发应用程序,Cordova 插件在开发时无法在浏览器中运行。 您需要构建应用程序才能使用插件。 您可以使用远程调试工具调试“.apk”或“.ipa”。 您可以通过 here.

获取有关远程调试的更多信息

请牢记以下几点,

  1. 您正在 deviceready 事件上执行所有代码。
  2. cordova.js 文件必须是您正在加载的第一个 js 文件。

我没有在 deviceready 事件中正确声明我的函数。现在可以使用了。