首页 > 解决方案 > 有没有办法播放不同的音频文件而不用自己的函数调用它们?

问题描述

当按下按钮时,我需要播放 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.

标签: javaandroid

解决方案


推荐阅读