Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何配置OpenSL来记录语音呼叫大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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);

}

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

解决方法

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

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

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。