我想知道是否可以通过手机麦克风录制语音并同时播放?
private void ditchMediaplayer(){
if (mediaRecorder!=null)mediaRecorder.release();
try
{
mediaPlayer.release();
}catch (Exception e)
{
e.printStackTrace();
}
}
private void beginRecording()throws IOException
{
ditchMediaplayer();
if (outFile.exists())
{
outFile.delete();
}
mediaRecorder=new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile(OUTPUT_FILE);
mediaRecorder.prepare();
mediaRecorder.start();
}
private void stopRecording()
{
if (mediaRecorder !=null)
{
mediaRecorder.stop();
}
}
所以我需要使用mediaplayer.play();
?但我不知道我可以把它放在哪里工作。
我的目标是流动我的声音,但我不想录制我的声音然后播放它。我希望我的声音同时录制和播放。
感谢您的帮助!
答案 0 :(得分:1)
录制到音频文件(简易版)
目的。录制音频数据并将其存储在文件中。数据以CD质量(44.1 kHz,16位线性,立体声)记录并存储在.wav文件中。
用法。
java SimpleAudioRecorder -h
java SimpleAudioRecorder audiofile
参数。
-h
打印使用信息,然后退出
audiofile
应根据录制数据生成的音频文件的文件名
错误,限制。您无法在命令行中选择音频格式和音频文件类型。有关具有更多高级选项的版本,请参阅AudioRecorder。由于Sun jdk1.3 / 1.4中的错误,此程序无法使用它。
源代码。 http://www.jsresources.org/examples/SimpleAudioRecorder.java.html
你应该读它可能会有所帮助 - http://www.jsresources.org/examples/audio_playing_recording.html