我希望有人能帮我解决这个问题。
一段时间前,我开发了一个应用程序,以便在智能手机中同时记录前麦克风和后部麦克风所捕捉到的声音。基本上,我把下一个物体做成这样:
新的AudioRecord(MediaRecorder.AudioSource.CAMCORDER,频率,AudioFormat.CHANNEL_IN_STEREO,音频编码,缓冲区大小);
它非常适合索尼Xperia,但对于摩托罗拉Moto (或者Moto,我猜)就不行了。看一下我看到的下一个摄像机标志的文档:
麦克风声源与摄像机的方向相同,如果可用,则主要设备麦克风否则。。
摩托罗拉Moto G没有相机麦克风,但在顶部(索尼Xperia有一个麦克风在后面或摄像头麦克风)。事实上,使用Moto G,我得到了相同的信号(由前麦克风捕获的信号)两次,根据文档,这是正确的。
有人能帮我吗?
发布于 2014-02-17 19:44:40
我也有同样的问题,我用48000赫兹的采样率让它工作。我认为这是可行的,因为用默认的相机应用程序录制的视频可以在立体声中工作,并且有这样的采样率。在使用函数getMinBufferSize()时也必须考虑这个频率。
以下是我的设置:
private static final int RECORDER_BPP = 16;
private static final int RECORDER_SAMPLERATE = 48000;
private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_STEREO;
private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;然后用以下方法创建AudioRecord对象:
recorder = new AudioRecord(MediaRecorder.AudioSource.CAMCORDER,
RECORDER_SAMPLERATE, RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING, bufferSize);我正在使用Moto,安装了KitKat。
https://stackoverflow.com/questions/20563483
复制相似问题