时间:2021-05-20
1.如何创建一个有效的AudioRecorder实例
Android各种设备的采样频率不同,输入的声道数也不同,如果采用固定的采样频率和声道数,那么得到的AudioRecorder不一定能够正常初始化。
为了正常使用,需要尝试各种不同的参数,得到在此设备上可以用的AudioRecorder实例。代码如下:
复制代码 代码如下:
private void createAudioRecord() {
for (int sampleRate : new int[]{44100, 8000, 11025, 16000, 22050, 32000,
47250, 48000}) {
for (short audioFormat : new short[]{
AudioFormat.ENCODING_PCM_16BIT,
AudioFormat.ENCODING_PCM_8BIT}) {
for (short channelConfig : new short[]{
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.CHANNEL_IN_STEREO}) {
// Try to initialize
try {
recBufSize = AudioRecord.getMinBufferSize(sampleRate,
channelConfig, audioFormat);
if (recBufSize < 0) {
continue;
}
audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
sampleRate, channelConfig, audioFormat,
recBufSize * 2);
if (audioRecord.getState() == AudioRecord.STATE_INITIALIZED) {
return;
}
audioRecord.release();
audioRecord = null;
} catch (Exception e) {
// Do nothing
}
}
}
}
throw new IllegalStateException(
"getInstance() failed : no suitable audio configurations on this device.");
}
2.常见错误
1.有些设备上面,即使你得到了有效的AudioRecorder实例,在audioRecord.startRecording()的时候还会报ERROR_BAD_VALUE错误。
这有可能是你使用了AudioManager而没有释放导致的。
其他错误都可以在网络上找到答案。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
童装拿货有哪些体会心得?冬季童装拿货的心得分享:俗话说得好“一分价格一分货”,并不无道理。昂贵的价钱决策了儿童童装的布料、质量、成本费都较为高。肯花大价格去选购
“吾开心的衣柜”配搭体会心得-小史1、心得分享淘宝主图展现配搭图尽可能选官方网配搭和点击量比较好的淘宝主图做配搭或是主打款,淘宝主图尽可能不必反复,能够选和淘宝
淘宝网(电商运营网)推出爆款心得分享!搞好怎样选品? 如何去挑选做爆品的商品是很重要的,商品本身务必要有好的品质基本,合乎大家顾客的要求。许多的情况下大伙
搜集共享电商创业小故事,每日一篇淘宝电商经营心得分享,开好网店提高店铺流量,请关心大家。将为诸位商家和电商创业者出示学习辅导,更多精彩经营內容前去主页查看全部好
许多店家刚开淘宝店(电商运营网)的情况下不清楚淘宝店铺运营是啥?如何搞好淘宝店铺运营.今日我把自己做 淘宝店铺运营的心得分享给大伙儿,期待对大家有效,下面