【发布时间】:2016-10-05 21:41:21
【问题描述】:
我在 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();
}
};
在模板中我以这种方式初始化音频播放器:
<ion-content ng-init="audioPlayer.initPlayer('foo')>
并在一个按钮中声明播放功能:
<button ng-click="audioPlayer.Play()"
错误:
Error: undefined is not an object (evaluating 'self.currentTrack.play')
【问题讨论】:
-
在初始化媒体变量之前是否等待 deviceReady 事件?
-
@JuanFernandezSosa 我正在使用 ionic.Platform.ready(function(){});如何等待设备准备就绪?谢谢
-
嗯,是的,其他方法是使用cordova的deviceready事件:document.addEventListener("deviceready", successCallback, errorCallback);您是否尝试通过 Chrome 的检查器使用断点来调试您的应用程序?
-
@JuanFernandezSosa 我正在由 Safari 开发人员检查员调试我的应用程序。因为我在模拟器上运行应用程序,我只能通过 Safari 模拟器网页检查器来调试它。
-
你无法使用断点控制流程?然后看看会发生什么?我曾经使用 Safari Tecnology Preview 在 iOS 上调试我的应用程序
标签: javascript angularjs cordova ionic-framework cordova-media-plugin