QCC发射(TX SOURCE)USB发射A2DP音乐,实现MIC声音到主机

文章讲述了将CSR8670/8675的解决方案移植到QCC3040QCC3056平台,解决游戏玩家在保持音质和一对二通话需求间的矛盾,通过增加本地MIC输入并优化Microphones_TurnOnMicrophone函数来提升体验。
摘要由CSDN通过智能技术生成

之前写过 CSR8670/8675 发射(TX SOURCE)USB发射A2DP音乐,实现MIC声音到主机的文章,目前把该方案移植到QCC方案(QCC3040 QCC3056)。
因 CSR8670/8675成本比较贵,现在移植到QCC平台。

由于众多游戏玩家,打游戏时需要使用USB发射器传输音频,QCC USB发射器就完美的解决了该问题。
在这里插入图片描述

但是游戏玩家还需要语音通话,即一边听声音,一边语音沟通。
为解决这个问题,大部分做法时,A2DP 切换到HFP模式,这样保证了可以听到游戏的声音,同时在连接的耳机上也可以通过MIC说话传输到游戏机上。但是这种实现方式存在二个弊端:一.A2DP 切换到HFP模式后,耳机听到的声音音质大打折扣。二.只能一对一,不能一对二。
为解决这种痛点,我们提出了新的解决MIC使用时又保证音质,又同时兼顾一对二的方案。

QCC发射A2DP时,增加本地MIC输入到游戏机。这样很好的避免了音质的降低,用户不在因为音质变差而烦恼。
Source Microphones_TurnOnMicrophone(uint16 microphone_number, microphone_user_type_t microphone_user_type)
{
Source mic_source = NULL;
PanicFalse(microphones_IsValidMicrophoneNumber(microphone_number));
PanicFalse(microphone_user_type != invalid_user);

if(((microphone_user_type > normal_priority_user) && (microphones_GetMicrophoneUserType(microphone_number) != microphone_user_type))
        || (microphones_IsMicrophoneInExclusiveUse(microphone_number) == FALSE))
{
    const audio_mic_params * microphone_config = Microphones_GetMicrophoneConfig(microphone_number);
    bool already_in_use = Microphones_IsMicrophoneInUse(microphone_number);
    if(!already_in_use)
    {
        DEBUG_LOG("Microphones_TurnOnMicrophone: microphone_number %d enum:mic_type_t:%d audio HDW instance %d",
                  microphone_number, microphone_config->type, microphone_config->instance);
        AudioPluginSetMicGain(microphone_config->channel, *microphone_config);
        mic_source =  AudioPluginMicSetup(microphone_config->channel, *microphone_config);
    }
    else
    {
        mic_source = AudioPluginGetMicSource(*microphone_config, microphone_config->channel);
    }
    microphones_AddUser(microphone_number, microphone_user_type);
}
DEBUG_LOG("Microphones_TurnOnMicrophone: source=%p", mic_source);
return mic_source;

}
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/TengTaiTech/article/details/107282253

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值