2

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

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')
4

2 回答 2

0

如果您在浏览器中开发应用程序,Cordova 插件在开发时无法在浏览器中运行。您需要构建应用程序才能使用插件。您可以使用远程调试工具来调试“.apk”或“.ipa”。您可以在此处获得有关远程调试的更多信息。

请记住以下几点,

  1. 您正在 deviceready 事件上执行所有代码。
  2. cordova.js 文件必须是您正在加载的第一个 js 文件。
于 2016-10-06T05:55:21.363 回答
0

我没有deviceready正确声明我的函数。现在可以了。

于 2020-04-20T16:26:04.663 回答