Java 创建由较小文件组成的声音文件

Java 创建由较小文件组成的声音文件,java,android,audio,wav,mediarecorder,Java,Android,Audio,Wav,Mediarecorder,我正在写一个应用程序,它接受莫尔斯电码,并通过扬声器播放 目前,我可以使用以下代码通过麦克风录制音频: public void startRecord() throws Exception{ if (record != null){ record.release(); } File fileOut = new File(FILE); if (fileOut != null){ fil

我正在写一个应用程序,它接受莫尔斯电码,并通过扬声器播放

目前,我可以使用以下代码通过麦克风录制音频:

public void startRecord() throws Exception{
        if (record != null){
            record.release();
        }

        File fileOut = new File(FILE);
        if (fileOut != null){
            fileOut.delete(); // delete any existing file at that location.
        }

        record = new MediaRecorder();
        record.setAudioSource(MediaRecorder.AudioSource.MIC);
        record.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        record.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        record.setOutputFile(FILE);

        record.prepare();
        record.start();
    }
我可以用如下格式的字符串生成摩尔斯电码:

"-.... .---- -.... -.-. -.... ..... --... ---.."
我可以使用for循环迭代此字符串,例如:

char[] chars = message.toCharArray();
for (char ch : chars) {
    //add to audio file
}

但我不知道如何创建一个文件串在一起的wav文件。我看到一些帖子提到将音频源设置为设备中的文件,但我不确定如何选择哪个文件以及插入位置,或者如何将其编译成单个音频文件

与其创建一个新的声音文件并播放它,不如单独播放每个声音,当声音结束时,播放下一个声音,或者如果是空格,则等待短暂的暂停。

与其创建一个新的声音文件并播放它,单独播放每个声音可能会更容易,当该声音结束时,您可以播放下一个声音,或者如果是空格,您可以等待短暂的停顿。

我认为您正在尝试以更难的方式播放。如果你只是让程序读第一个字母,播放适当的声音,对下一个字母做同样的操作,等等贯穿全文,会怎么样。我相信这要简单得多,但是如果你真的想把它放进一个文件中,你可以让这个程序生成一个空文件,但它的名称是扩展名为“.wav”或“.mp3”,并研究它们是如何编码的。

我想你是想用更难的方法来实现这一点。如果你只是让程序读第一个字母,播放适当的声音,对下一个字母做同样的操作,等等贯穿全文,会怎么样。我相信这要简单得多,但是如果你真的想把它放进一个文件中,你可以让这个程序生成一个空文件,但它的名称是扩展名“.wav”或“.mp3”,并研究它们是如何编码的。

。请你的问题更具体地说明你需要什么样的帮助。难道你就不能单独播放破折号和圆点音吗?。请你的问题更具体地说明你需要什么样的帮助。难道你就不能单独播放破折号和圆点音,然后分别播放它们吗?