android – 如何配置OpenSL来记录语音呼叫

android – 如何配置OpenSL来记录语音呼叫,第1张

概述我正在使用MediaRecorder VOICE_CALL音频源处理一个呼叫记录器应用程序,在一些marshmallow设备中它正在崩溃,然后我将源更改为MIC,这里传入的语音没有被记录.由于这个 java限制现在我正在使用原生的android代码来录制语音通话. 我设法使用 native-audio录音机为录音机录制音频.问题出在本机代码中,它只记录单侧语音,传入的语音没有被记录.然后我尝试了语 我正在使用MediaRecorder VOICE_CALL音频源处理一个呼叫记录器应用程序,在一些marshmallow设备中它正在崩溃,然后我将源更改为MIC,这里传入的语音没有被记录.由于这个 java限制现在我正在使用原生的androID代码来录制语音通话.
我设法使用 native-audio录音机为录音机录制音频.问题出在本机代码中,它只记录单侧语音,传入的语音没有被记录.然后我尝试了语音通信预设配置,它没有录音.以下是预设配置代码.

const SlinterfaceID ID[2] = { SL_IID_ANDROIDSIMPLEBUFFERQUEUE,SL_IID_ANDROIDCONfigURATION};const SLboolean req[2] = { SL_BOolEAN_TRUE,SL_BOolEAN_TRUE};result = (*engineEngine)->CreateAudioRecorder(engineEngine,&recorderObject,&audioSrc,&audioSnk,2,ID,req);SLAndroIDConfigurationItf inputConfig;result = (*recorderObject)->GetInterface(recorderObject,SL_IID_ANDROIDCONfigURATION,&inputConfig);if (SL_RESulT_SUCCESS == result) {    SLuint32 presetValue =SL_ANDROID_RECORDING_Preset_VOICE_COMMUNICATION ;    (*inputConfig)->SetConfiguration(inputConfig,SL_ANDROID_KEY_RECORDING_Preset,&presetValue,sizeof(SLuint32));    __androID_log_print(ANDROID_LOG_DEBUG,"LOG_TAG","\n Native PCM Conf Success\n");} else{    __androID_log_print(ANDROID_LOG_DEBUG,"\n Native PCM Conf Error %d\n",result);}

添加预设配置后,开始录制语音通话时出现系统错误:

E/AudioRecord: Could not get audio input for record source 7,sample
rate 16000,format 0x1,channel mask 0x10,session 925,flags 0

E/libOpenSLES: androID_audioRecorder_realize(0x559548c350) error
creating AudioRecord object; status -22

W/libOpenSLES: Leaving Object::Realize (SL_RESulT_CONTENT_UNSUPPORTED)

解决方法 检查文档并设置正确的采样率,格式和掩码.通道掩码可以是立体声或单声道.我不确定你是如何获得状态-22错误的,但根据文档,Realize错误非常清楚

SL_RESulT_CONTENT_UNSUPPORTED if a format is not supported (e.g. sample rate too high)

查看NDK示例以阐明您的参数设置

总结

以上是内存溢出为你收集整理的android – 如何配置OpenSL来记录语音呼叫全部内容,希望文章能够帮你解决android – 如何配置OpenSL来记录语音呼叫所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1124027.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存