创建由较小文件组成的声音文件
Creating a sound file composed of smaller files
我正在编写一个应用程序,它采用摩尔斯电码,并通过扬声器播放。
目前我可以使用此代码通过麦克风录制音频:
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 文件中创建一个文件。我看到一些帖子提到将音频源设置为来自设备的文件,但我不确定如何挑选和选择哪个文件以及将它们插入到哪里,或者如何将它们全部编译成一个音频文件。
与其创建一个新的声音文件并播放它,不如单独播放每个声音,当那个声音结束时,播放下一个声音,或者如果它是 space.
我认为你正在尝试用更难的方法来做到这一点。如果您只是让程序读出第一个字母,播放适当的声音,对下一个字母做同样的事情等等,那会怎样呢?我相信它要简单得多,但如果你真的打算将它放入一个文件中,你可以让程序创建一个空文件,但它设置的名称具有扩展名“.wav”或“.mp3”并进行研究了解它们的编码方式。
我正在编写一个应用程序,它采用摩尔斯电码,并通过扬声器播放。
目前我可以使用此代码通过麦克风录制音频:
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 文件中创建一个文件。我看到一些帖子提到将音频源设置为来自设备的文件,但我不确定如何挑选和选择哪个文件以及将它们插入到哪里,或者如何将它们全部编译成一个音频文件。
与其创建一个新的声音文件并播放它,不如单独播放每个声音,当那个声音结束时,播放下一个声音,或者如果它是 space.
我认为你正在尝试用更难的方法来做到这一点。如果您只是让程序读出第一个字母,播放适当的声音,对下一个字母做同样的事情等等,那会怎样呢?我相信它要简单得多,但如果你真的打算将它放入一个文件中,你可以让程序创建一个空文件,但它设置的名称具有扩展名“.wav”或“.mp3”并进行研究了解它们的编码方式。