【发布时间】:2015-11-06 21:49:31
【问题描述】:
我正在使用cordova-media-plugin 1.0.1。在 Ionic 移动应用程序中。我正在使用插件播放音频文件。
我可以使用:
var media = $cordovaMedia.newMedia(fileToPlay,
// success callback
mediaSuccess,
// error callback
mediaFailure,
// status callback
mediaStatus
);
然后我可以在它播放文件时调用 media.play()。
但是,回调似乎永远不会执行。我将它们定义为:
function mediaSuccess () {
console.log("Successfully finished task.");
}
function mediaFailure (err) {
console.log("An error occurred: " + err.code);
}
function mediaStatus (status) {
console.log("A status change occurred: " + status.code);
}
但它们永远不会被调用。但是,在我的控制台中,我在播放器开始和停止播放时看到了来自播放器本身的日志记录:
Will attempt to use file resource '//var/mobile/Containers/Data/Application/931BFA01-CDA4-43CD-BC16-7FB6A64305DC/Library/NoCloud/DateTime-1446772191539audio_007.wav'
Playing audio sample '//var/mobile/Containers/Data/Application/931BFA01-CDA4-43CD-BC16-7FB6A64305DC/Library/NoCloud/DateTime-1446772191539audio_007.wav'
Stopped playing audio sample '//var/mobile/Containers/Data/Application/931BFA01-CDA4-43CD-BC16-7FB6A64305DC/Library/NoCloud/DateTime-1446772191539audio_007.wav'
这些日志事件将发送到控制台,但它们不在我的代码中,因此它们必须来自媒体对象。
我需要获取状态更改和/或成功回调,因为我需要更新模型以启用播放,但在剪辑完成播放时再次进行。
有什么想法吗?
【问题讨论】:
-
我正在使用 android,似乎没有任何回调被触发!
-
你们中有人在这个问题上取得了成功吗?还是您切换到另一个真正支持回调的插件?我刚刚尝试了 cordova-plugin-media 2.1.0(在 iOS 9.3.2 上),但仍然是同样的问题..
标签: cordova cordova-plugins ngcordova