Я использую Cordova-Media-плагин 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'
Эти события регистрации поступают на консоль, но их НЕТ в моем коде, поэтому они должны поступать из медиа-объекта.
Мне нужно получить изменение статуса и/или успешный обратный вызов, так как мне нужно обновить модель, чтобы включить воспроизведение, но снова, когда клип завершит воспроизведение.
есть идеи?