java - 有没有办法播放不同的音频文件而不用自己的函数调用它们?
问题描述
当按下按钮时,我需要播放 8 个音频文件。
目前,这些文件是使用类播放的。在这个类中,每个音频文件都有自己的函数来播放和暂停每个音频文件。
有没有办法在不为不同的音频文件重复相同功能的情况下做到这一点?
有问题的按钮连接到 Adafruit 羽毛 - 基本上,如果按下按钮,手机就会知道播放所需的任何音频。
这是一些代码:
这是我到目前为止所拥有的:
public class Audio {
MediaPlayer mp;
boolean paused = false;
public void playSound_1(Context context) {
mp = MediaPlayer.create(context, R.raw.Sound_1);
mp.start();
}
public void playSound_2(Context context) {
mp = MediaPlayer.create(context, R.raw.Sound_2);
mp.start();
}
public void playSound_3(Context context) {
mp = MediaPlayer.create(context, R.raw.Sound_3);
mp.start();
}
}
然后在我的片段中,我为每个声音调用函数:
if (data_check.contains("Sound_1"){
audio.playSound_1(this.getContext());
}
else if (data_check.contains("Sound_2"){
audio.playSound_2(this.getContext());
}
当前的结果是,如果按下按钮(并data_check
找到声音的名称),声音就会播放。
我想做的是有相同的结果,但没有public void playSound_1, 2, 3, 4... etc.
解决方案
推荐阅读
- woocommerce - 使连锁产品适用于以编程方式添加的订单
- javascript - 如何使用 Selenium Python (MacOS) 用自定义文本替换按钮文本?
- r - R 中的 cv.glmnet 是否接受二元因子特征?
- javascript - 函数正在返回 [object Object]
- ruby-on-rails - 如何检查控制器参数中的空值?(Ruby on Rails 5)- 已修复
- mysql - 如何在SQL中压缩一行重复的数量,并统计另一行的属性?
- automation - 赛普拉斯 e2e 测试与条纹 js
- python - 如何打开 Excel 文件然后将值保存为 doc 或 pdf?
- javascript - Angular // 错误循环对象值 // JSON 循环结构
- excel - 从 PowerShell 函数返回对 Excel 工作表的引用