我正在开发一个应用程序,我需要将一些音频文件放在/src/assets
文件夹中,并在点击按钮时播放它们。
我按如下方式使用了本机媒体对象:
import { MediaPlugin, MediaObject } from '@ionic-native/media';
constructor(public navCtrl: NavController, public navParams: NavParams,
public media: MediaPlugin) {
}
listenAudio() {
const onStatusUpdate = (status) => console.log(status);
this.media.create('assets/audio/sample.mp3', onStatusUpdate)
file.play();
})
}
点击按钮时将调用listenAudio()
函数。
音频根本无法播放!!
任何原因 ?
我昨天遇到了同样的问题(刚开始使用 Ionic(。经过一些试验和错误,我终于得到了以下内容来处理保存在src/assets/mp3/sample.mp3
中的MP3文件:
let filepath: string = 'assets/mp3/sample.mp3';
// The filepath needs to be a URL for Android
if(this.platform.is('android')) {
filepath = 'file:///android_asset/www/assets/mp3/sample.mp3';
}
this.media.create(filepath, onStatusUpdate).then((file: MediaObject)) => {
file.play();
})
.catch(e => console.log('Error opening media file', e));
我发现的其他几个问题:
如果音频文件的路径不正确(例如,音频文件不存在(,我希望
catch()
块运行,但代码以静默方式失败。音频文件无法在 Android 模拟器(运行 Android 6.0(上播放,但在真实设备上运行。