HarmonyOS鸿蒙Next中点击不同的按钮,播放不同的本地音频
HarmonyOS鸿蒙Next中点击不同的按钮,播放不同的本地音频 想要在一个ets文件下,设计一个界面,包含多个按钮,点击不同的按钮实现播放不同的音频文件,一直没学会,官方的学习文档就是欺负小白的,也给出了复杂播放器的代码,但是音频简单应用的介绍太不友好了。难道音频应用就只能设计播放器?
在HarmonyOS鸿蒙Next中,点击不同的按钮播放不同的本地音频可以通过以下步骤实现:
-
准备音频文件:将需要播放的音频文件放置在项目的
resources/rawfile
目录下。 -
创建UI界面:在
ability_main.xml
中定义多个按钮,每个按钮对应一个音频文件。 -
编写逻辑代码:在
MainAbilitySlice.java
中,为每个按钮设置点击事件,使用AudioPlayer
类来播放对应的音频文件。
示例代码如下:
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Button;
import ohos.media.player.Player;
public class MainAbilitySlice extends AbilitySlice {
private Player player;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
Button button1 = (Button) findComponentById(ResourceTable.Id_button1);
Button button2 = (Button) findComponentById(ResourceTable.Id_button2);
button1.setClickedListener(component -> playAudio(ResourceTable.Rawfile_audio1));
button2.setClickedListener(component -> playAudio(ResourceTable.Rawfile_audio2));
}
private void playAudio(int resId) {
if (player != null) {
player.stop();
player.release();
}
player = new Player(getContext());
player.create(resId);
player.play();
}
@Override
protected void onStop() {
super.onStop();
if (player != null) {
player.release();
}
}
}
- 资源文件:在
resources/rawfile
目录下放置audio1.mp3
和audio2.mp3
文件,并在resources/base/element/string.json
中定义资源ID。
{
"name": "audio1",
"value": "rawfile/audio1.mp3"
},
{
"name": "audio2",
"value": "rawfile/audio2.mp3"
}
通过以上步骤,可以在HarmonyOS鸿蒙Next中实现点击不同按钮播放不同本地音频的功能。
更多关于HarmonyOS鸿蒙Next中点击不同的按钮,播放不同的本地音频的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,可以通过AudioPlayer
组件实现点击不同按钮播放不同本地音频的功能。首先,在resources
目录下放置音频文件,然后在MainAbilitySlice
中初始化AudioPlayer
,并为每个按钮设置点击事件,调用AudioPlayer
的play
方法播放指定音频。示例代码如下:
AudioPlayer audioPlayer = new AudioPlayer(this);
Button button1 = (Button) findComponentById(ResourceTable.Id_button1);
button1.setClickedListener(component -> {
audioPlayer.play(ResourceTable.Media_audio1);
});
Button button2 = (Button) findComponentById(ResourceTable.Id_button2);
button2.setClickedListener(component -> {
audioPlayer.play(ResourceTable.Media_audio2);
});
确保在config.json
中声明音频播放权限。