草庐IT

Audiorecord

全部标签

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

android - 如何延迟播放 AudioRecord

我正在实现一个应用程序,它会重复我告诉它的所有内容。我需要的是延迟一秒播放我在缓冲区上录制的声音这样我自己就能听到但延迟1秒这是我的Recorder类的运行方法publicvoidrun(){AudioRecordrecorder=null;intix=0;buffers=newbyte[256][160];try{intN=AudioRecord.getMinBufferSize(44100,AudioFormat.CHANNEL_IN_STEREO,AudioFormat.ENCODING_PCM_16BIT);recorder=newAudioRecord(AudioSource

android - AudioRecord 和 AudioTrack 延迟

我正在尝试为android开发类似iRig的应用程序,因此第一步是捕获麦克风输入并同时播放。我有,但问题是我有一些延迟导致它无法使用,如果我开始处理缓冲区,我担心它会变得完全无法使用。我像这样使用audiorecord和audiotrack:newThread(newRunnable(){publicvoidrun(){while(mRunning){mRecorder.read(mBuffer,0,mBufferSize);//Todo:ApplyfiltershereintothebufferandthenplayitmodifiedmPlayer.write(mBuffer,0,

java - Android AudioRecord 读取总是返回 -3 (ERROR_INVALID_OPERATION)

我已尝试将代码简化到最低限度,但它仍然不起作用:publicclassMainActivityextendsAppCompatActivity{AudioRecordrec;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rec=newAudioRecord(MediaRecorder.AudioSource.MIC,44100,AudioFormat.CHANNEL_IN_

android - 增加录音音量 Android AudioRecord

我正在使用AudioRecord和lame将麦克风输入录制到mp3样本12秒。音频如预期的那样是录音机,但我意识到音量太低了。有没有办法提高录音的音量? 最佳答案 audioRecord类中没有增益设置可供播放,因此您无法控制正在录制的音频的音量。音频的低音量与硬件有关,并且因设备而异。您可以尝试以下几个选项。1)尝试以不同模式打开音频记录,看看哪种模式效果最好。检查-http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html