use*_*239 15 mp3 android record
我正在构建一个Android应用程序,具有通过麦克风捕获声音并通过耳机播放的功能.为此,我使用了"AudioRecord"和"AudioTrack".以下是我正在使用的代码的一部分(仅用于理解)
mInBufferSize = AudioRecord.getMinBufferSize(mSampleRate,
AudioFormat.CHANNEL_CONFIGURATION_MONO, mFormat);
mOutBufferSize = AudioTrack.getMinBufferSize(mSampleRate,
AudioFormat.CHANNEL_CONFIGURATION_MONO, mFormat);
mAudioInput = new AudioRecord(MediaRecorder.AudioSource.MIC,
mSampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO, mFormat,
mInBufferSize);
mAudioOutput = new AudioTrack(AudioManager.STREAM_MUSIC, mSampleRate,
AudioFormat.CHANNEL_CONFIGURATION_MONO, mFormat,
mOutBufferSize, AudioTrack.MODE_STREAM);
Run Code Online (Sandbox Code Playgroud)
但主要的问题是我想以mp3格式录制传入的声音?请帮助我,我真的很感激......
提前致谢
Adv*_*t S 40
有一个解决方法是使用MediaRecorder保存.mp3文件.这是如何做:
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setOutputFile(Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/myrecording.mp3");
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.prepare();
recorder.start();
Run Code Online (Sandbox Code Playgroud)
这里的重要部分是setOuputFormat和setAudioEncoder.显然,如果您正在使用MediaRecorder.OutputFormat.MPEG_4并且MediaRecorder.AudioEncoder.AAC在一起,MediaRecorder会记录可播放的mp3 .希望这有助于某人.
当然,如果您更愿意使用AudioRecorder类,我认为下面链接的源代码Chirag应该可以正常工作 - https://github.com/yhirano/Mp3VoiceRecorderSampleForAndroid(尽管您可能需要将其中一些从日语翻译成英语)
编辑:正如布鲁诺和其他一些人在评论中指出的那样,这不会对 MP3中的文件进行编码.编码仍然是AAC.但是,如果您尝试播放声音,通过上面的代码使用.mp3扩展名保存,它仍然会播放没有问题,因为大多数媒体播放器足够聪明,可以检测到真正的编码.
| 归档时间: |
|
| 查看次数: |
34803 次 |
| 最近记录: |