HarmonyOS鸿蒙Next中api8如何使用ets播放app内置的音效文件?
HarmonyOS鸿蒙Next中api8如何使用ets播放app内置的音效文件? 想跟风搞个敲木鱼的app,需要实现敲木鱼的音效,但是被音乐播放器难住了。请问如何使用ets播放音效?
在官网上看到这样一段代码:
async audioPlayerDemo() {
let audioPlayer = media.createAudioPlayer(); //创建一个音频播放实例
this.setCallBack(audioPlayer); //设置事件回调
let fdPath = 'fd://'
// path路径的码流可通过"hdc file send D:\xxx\01.mp3 /data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile" 命令,将其推送到设备上
let path = '/data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile/01.mp3';
await fileIO.open(path).then((fdNumber) => {
fdPath = fdPath + '' + fdNumber;
console.info('open fd success fd is' + fdPath);
}, (err) => {
console.info('open fd failed err is' + err);
}).catch((err) => {
console.info('open fd failed err is' + err);
});
audioPlayer.src = fdPath; //设置src属性,并触发'dataLoad'事件回调
}
里面let path =
上的注释说,要用hdc将音频文件推送到设备上。但是我想直接读取音效,有什么办法实现吗
更多关于HarmonyOS鸿蒙Next中api8如何使用ets播放app内置的音效文件?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
关于resourceManager的使用文档哪里可以找到?
在HarmonyOS鸿蒙Next中,使用API 8通过ETS(Extended TypeScript)播放App内置的音效文件,可以通过@ohos.multimedia.audio
模块实现。首先,确保音效文件已放置在resources/rawfile
目录下。然后,使用AudioPlayer
类进行播放。
以下是一个简单的示例代码:
import audio from '@ohos.multimedia.audio';
// 创建AudioPlayer实例
let audioPlayer = audio.createAudioPlayer();
// 设置音效文件路径
let filePath = 'entry/resources/rawfile/sound_effect.mp3';
// 准备播放
audioPlayer.src = filePath;
audioPlayer.prepare((err) => {
if (!err) {
// 开始播放
audioPlayer.play();
}
});
// 监听播放完成事件
audioPlayer.on('end', () => {
console.log('音效播放完成');
});
在这个示例中,首先通过audio.createAudioPlayer()
创建了一个AudioPlayer
实例。然后,将音效文件的路径赋值给audioPlayer.src
,并调用prepare
方法准备播放。如果准备成功,调用play
方法开始播放。最后,通过监听end
事件来处理音效播放完成后的逻辑。
注意:确保在config.json
中声明了ohos.permission.MICROPHONE
权限,以便访问音频资源。