草庐IT

audioRecording

全部标签

Android AudioRecord 示例

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我正在设计一个Android应用,我需要实现一个AudioRecord类来录制用户的声音。经过一些研究(没有提供足够的信息)和几次失败的尝试,我想知道是否有人可以通过发布一个关于如何使用AudioRecord捕获高质量声音的示例(代码)来帮助我。我真的很感激。谢谢 最佳答案 在这里,我向您发布了一些使用AudioRecordAPI录制优质声音的代码示

java - Android音频FFT使用audiorecord检索特定频率幅度

我目前正在尝试使用Android实现一些代码,以检测何时通过手机的麦克风播放了一些特定的音频范围。我已经使用AudioRecord类设置了该类:intchannel_config=AudioFormat.CHANNEL_CONFIGURATION_MONO;intformat=AudioFormat.ENCODING_PCM_16BIT;intsampleSize=8000;intbufferSize=AudioRecord.getMinBufferSize(sampleSize,channel_config,format);AudioRecordaudioInput=newAudio

java - Android音频FFT使用audiorecord检索特定频率幅度

我目前正在尝试使用Android实现一些代码,以检测何时通过手机的麦克风播放了一些特定的音频范围。我已经使用AudioRecord类设置了该类:intchannel_config=AudioFormat.CHANNEL_CONFIGURATION_MONO;intformat=AudioFormat.ENCODING_PCM_16BIT;intsampleSize=8000;intbufferSize=AudioRecord.getMinBufferSize(sampleSize,channel_config,format);AudioRecordaudioInput=newAudio

java - android audioRecord-应用变化增益

我想将增益应用于我的录音(PCM16位)。为此,我有以下代码:for(inti=0;i如果像这样应用(将每个样本乘以分数),我会在播放时中断(听起来像老式对讲机)。是否有一些公式可以改变每个样本的增益因子?我假设样本范围有一些maxValue和minValue(我猜是[-32768,+32767]),并在某些公式中使用这些值,我可以获得一个变化的增益因子以应用于当前样本。//编辑:添加if(curSample>32767){curSample=32767;}if(curSample完整方法aRecorder.read(buffer,0,buffer.length);for(inti=0

Android AudioRecord - 使用短数组或字节数组?

我正在开发一个录制音频的Android应用程序。为了获得最佳音频质量,最好在阅读时使用short缓冲区?//aRecorder.read(shortBuffer,0,shortBuffer.length);aRecorder.read(byteBuffer,0,byteBuffer.length);使用short[]与使用byte[]并考虑来自2bytes(byteBuf[i]和byteBuf[i+1])?如果我使用short[],无论如何我都必须将它转换为ByteBuffer以将其写入文件。我问这个是因为我想知道如果我切换到short缓冲区,我的录音会更准确吗?例如,shortBuf

Android AudioRecord 初始化延迟

这是我正在处理的相关代码示例:AudioRecordrecorder=setupAudio();recorder.startRecording();设置音频方法:publicAudioRecordsetupAudio(){AudioRecordrecorder;minBufferSizeInBytes=AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE,AudioFormat.CHANNEL_IN_MONO,AudioFormat.ENCODING_PCM_16BIT);Log.e("MoverAudio","BufferSize:"+mi

Android audiorecord 实例失败

我正在创建一个应用程序来检测通过麦克风播放的声音的频率。分析是在AsyncTask中完成的。当我尝试一个音符时它起作用了。但是,当我尝试分析6个音符时,比如来自不同的吉他弦,一个接一个(中间延迟一秒左右)它可能只捕获了一个。这是我得到的一些LogCat输出:11-2219:50:04.333:ERROR/AudioHardwareMSM72XX(1296):[doRouting]sndDevice=0,mCurSndDevice=-111-2219:50:04.333:ERROR/AudioHardwareMSM72XX(1296):[SKW]do_route_audio_rpc(0,

android - Audiorecord.read() 值的含义

我想了解使用Audiorecord.read()获得的值的实际含义。我正在尝试创建一个应用程序,它会在检测到脉冲响应时开始录制声音(因此我必须设置一个阈值,任何超过它的声音都将被视为脉冲)。问题是当我调用这个方法时,我真的不知道存储在“数据”中的值代表什么:read=recorder.read(data,0,bufferSize);这些是我获得的一些值:[96,2,101,3,101,2,110,1,-41,2,-80,2,-117,2,119,2,-94,0........]我的想法是根据这些值设置阈值,但首先我需要知道它们代表什么。你们能帮我解决这个问题吗?

android - 来自 AudioRecord 的振幅

我有一些代码应该从AudioRecord获取振幅。问题是数学只返回-Infinity。请给我更多的眼睛和我一起看:privateclassmeasureSnoreAudioextendsAsyncTask{@OverrideprotectedStringdoInBackground(String...params){Log.d(TAG,"Creatingthebufferofsize"+BUFFER_SIZE);byte[]buffer=newbyte[BUFFER_SIZE];Log.d(TAG,"CreatingtheAudioRecord");recorder=newAudioR

android - 在 android 中使用 AudioRecord 录制立体声

我正在寻找关于让audioRecord同时使用顶部安装和底部安装麦克风的明确答案,因此我没有2个相同的(单声道)channel。我想知道我可以事先进行哪些轮询以确保小工具能够提供良好的流。我正在研究galaxynexus5,但无法让它工作,所以我无法让它在所有设备上保持稳定。我已经尝试了所有的MediaRecorder.AudioSource。AudioRecordaudioInputStream1=newAudioRecord(Media.Recorder.CAMCORDER,sampleRate,AudioFormat.CHANNEL_IN_STEREO,AudioFormat.E