new AudioRecord(audioSource, sampleRate, channelConfig, audioFormat, bufferSize*10);
解决方案 »
- android socket编程问题:
- 如何让按钮与textview里的文字顶部对齐?
- Android 写了 HelloWorld 没显示 大家帮帮忙
- 新手问android 4.0 文件管理怎么关联新增的文件类型?
- 编译Android下的ko模块文件
- 单独的widget可以支持全屏动画吗?
- 请教eclipse如何查看NullPointerException所在行数?
- Android不同activity之间的跳转问题
- android不下心把R文件删除了
- 安卓新手,eclipse创建Android工程问题
- 求Android平板、手机数据展示思路,或类似应用,欢迎大家讨论
- http post请求错误 fileNotfoundexception 404
MediaRecorder 要写文件。如果用 socket 的话太复杂了。
int sampleRate = 44100;
int channel = AudioFormat.CHANNEL_IN_MONO;
int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
int bufferSize = 4 * AudioRecord.getMinBufferSize(sampleRate, channel, audioFormat); return new AudioRecord(AudioSource.CAMCORDER, sampleRate, channel, audioFormat, bufferSize);注意在AndroidManifest.xml里添加录音权限,并且检查下权限是否可用(比如被管理软件禁止等)。如果再不行,就换个手机吧。
sampleRate只有44100是API级别被保证支持的
44100 也测试过,buffersize*10 也测试过,主要是有比较多的手机会有这个问题,在我们公司内部就发现 联想和小米,软件是做给客户用的,另外别人的 App 却又没问题。我怀疑是不是它在 JNI 层做了什么处理,貌似它使用了 VOIP 协议。
百思不得其姐。我还有两部测试手机,一部是 HTC,一部是大显,没问题。另外有一个同事的小米2也没问题。如果是代码有问题,应该都通不过。
据我同事说,可能是 MTK 的就有问题,具体还没有证实。
另外因为我们对讲是跟硬件对讲,所以固定 sampleRate 用 8000。不过其他的我都测试过,也没用。