如何在Android应用程序中录制声音

如何在Android应用程序中录制声音,android,audio,audio-recording,Android,Audio,Audio Recording,我正在开发一个Android应用程序,这个应用程序的一部分是一个简单的木琴,我必须做的是实现一个功能,当用户按下按钮时,记录木琴的声音 当用户按下按钮时,如do、re mi等,声音将使用保存在原始文件夹中的mp3播放 1) 有可能这样做吗? 2) 有人能解释一下我如何“捕捉”声音并将其记录在sd卡中吗? 3) 是否可以实现“录制”“播放”“停止”“复制”功能?是的,您可以在sd中捕获和存储音频,然后再播放。查看这些链接 是的,您可以在sd中捕获和存储音频,然后再播放。查看这些链接 没有roo

我正在开发一个Android应用程序,这个应用程序的一部分是一个简单的木琴,我必须做的是实现一个功能,当用户按下按钮时,记录木琴的声音

当用户按下按钮时,如do、re mi等,声音将使用保存在原始文件夹中的mp3播放

1) 有可能这样做吗? 2) 有人能解释一下我如何“捕捉”声音并将其记录在sd卡中吗?
3) 是否可以实现“录制”“播放”“停止”“复制”功能?

是的,您可以在sd中捕获和存储音频,然后再播放。查看这些链接


是的,您可以在sd中捕获和存储音频,然后再播放。查看这些链接


没有root,Android无法在内部(或说“数字”)录制扬声器或耳机的声音。原因可能是版权问题,因此无法制作通过Android设备播放的内容的数字副本

当然,如果信号足够响亮,您可以使用内置麦克风录制,但质量损失非常严重。此外,木琴上还有背景噪音和用户指尖的敲击噪音


最好的解决方案是以编程方式混合与按键对应的样本,并将结果发送给扬声器,同时发送到声音文件中。复杂但优化。

没有root,Android无法在内部(或说“数字”)录制扬声器或耳机的声音。原因可能是版权问题,因此无法制作通过Android设备播放的内容的数字副本

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(PATH_NAME);
recorder.prepare();
recorder.start(); // Recording is now started
...
recorder.stop();
recorder.reset(); // You can reuse the object by going back to setAudioSource() step
recorder.release(); // Now the object cannot be reused
当然,如果信号足够响亮,您可以使用内置麦克风录制,但质量损失非常严重。此外,木琴上还有背景噪音和用户指尖的敲击噪音

最好的解决方案是以编程方式混合与按键对应的样本,并将结果发送给扬声器,同时发送到声音文件中。复杂,但最理想

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(PATH_NAME);
recorder.prepare();
recorder.start(); // Recording is now started
...
recorder.stop();
recorder.reset(); // You can reuse the object by going back to setAudioSource() step
recorder.release(); // Now the object cannot be reused
您可以使用以下代码录制音频:

我正在搜索如何使用耳机录制音频,而不是从 演讲者如果有人知道,请在评论中分享链接

您可以使用以下代码录制音频:

我正在搜索如何使用耳机录制音频,而不是从 演讲者如果有人知道,请在评论中分享链接


这个解决方案的唯一问题是,录音是使用麦克风完成的!我需要的是在没有麦克风的情况下录制声音,因为我想播放唯一的木琴声音。如果你想要默认的木琴声音,你可以从互联网上下载。如果你想存储整个序列,你可以合并相应的mp3文件。我创建了一个Android应用程序,当用户按下你播放声音的音符对应的按钮时,你可以播放木琴,(我下载并将mp3声音插入到我的项目中)。我现在想做的是让用户能够录制他播放的音乐。我不确定如何录制正在播放的音乐。如果可以合并多个mp3文件(木琴音),请尝试通过适当的延迟来获得完整的音乐。此解决方案的唯一问题是使用麦克风进行录制!我需要的是在没有麦克风的情况下录制声音,因为我想播放唯一的木琴声音。我不需要你。如果你想要默认的木琴声音,你可以从internet下载。如果你想存储整个序列中,你可以合并相应的mp3文件。我创建了一个Android应用程序,当用户按下与你播放的音符对应的按钮时,你可以播放木琴(我下载了mp3的声音并将其插入到我的项目中)。我现在想做的是让用户能够录制他播放的音乐。我不确定如何录制正在播放的音乐。请尝试是否可以将多个mp3文件(木琴音)以适当的延迟合并以获得完整的音乐。