我正在使用cordova-media-plugin 1.0.1.在一个离子移动应用程序中.我正在使用该插件播放音频文件.
我可以使用它来玩它:
var media = $cordovaMedia.newMedia(fileToPlay,
// success callback
mediaSuccess,
// error callback
mediaFailure,
// status callback
mediaStatus
);Run Code Online (Sandbox Code Playgroud)
然后我可以调用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);
}Run Code Online (Sandbox Code Playgroud)
但它们永远不会被称为.但是,它是我的控制台,我看到从播放器本身开始记录,因为它开始和停止播放:
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'Run Code Online (Sandbox Code Playgroud)
这些日志记录事件将发送到控制台,但它们不在我的代码中,因此它们必须来自媒体对象.
我需要获得状态更改和/或成功回调,因为我需要更新模型以启用播放,但是当剪辑完成播放时再次启用播放.
有什么想法吗?