我有一个基于离子4.2.1的项目。该项目是为ios开发的,并使用音频播放。首先,我尝试使用@ ionic-native / media lib来跟踪状态(实际上我只需要两个状态-“ started”和“ stopped”),并在浏览器中进行了测试,一切都很好,但是在ios上存在很大的问题。 / p>
第一次播放音频时,根本没有回调。 第二个-在我单击按钮后,同时触发了两个回调-启动和停止。 之后,第二种情况将在所有下一次重复。音频一直都能正常播放。
我尝试使用cordova-plugin-media本身,而不使用@ ionic-native / media,但是问题出在cordova插件中,没有任何改变。
在ios 11.x和12.1上测试 离子4.2.1 科尔多瓦-插件媒体^ 5.0.1 @ ionic-native / media ^ 4.17.0
使用纯cordova-media-plugin
this.platform.ready().then(() => {
let file = new (<any>window).Media(path,
() => {
console.log("playAudio():Audio Success")
},
(err) => {
console.log("playAudio():Audio Error: " + err)
},
(status) => {
this.addConsole('status=' + status)
if (status === 1) {
this.isAudioActive = true
this.addConsole('played')
}
if (status === 4) {
this.addConsole('stoped')
this.isAudioActive = false
}
}
)
this.file = file
this.file.play()
})
使用@ ionic-native / media
let file: MediaObject = this.media.create(path);
this.file = file
this.addConsole('play')
this.file.play()
this.file.onStatusUpdate.subscribe(
(status) => {
this.addConsole('status=' + status)
if (status === 1) {
this.isAudioActive = true
this.addConsole('played')
}
if (status === 4) {
this.addConsole('stoped')
this.isAudioActive = false
}
}
)
希望自cordova-plugin-media callback methods以来一切都已改变
任何帮助将不胜感激