当前位置: 首页 > article >正文

QCC 音频输入输出

QCC 音频输入输出

QCC蓝牙芯片(QCC3040 QCC3083 QCC3084 QCC5181 等等)支持DAC、I2S、SPDIF输出,AUX、I2S、SPDIF、A2DP 输入

蓝牙音频输入,模拟输出是最常见的方式。
也可以再此基础上动态切换输入方式。
输入方式切换参考
static void kymeraWiredAnalog_StartChains(kymeraTaskData *theKymera)
{
bool connected;

Source line_in_l = SourcekymeraWiredAnalog_GetSource(appConfigLeftAudioChannel(), appConfigLeftAudioInstance(), KymeraOutput_GetMainSampleRate() /* for now input/output rate are same */);
Source line_in_r = SourcekymeraWiredAnalog_GetSource(appConfigRightAudioChannel(), appConfigRightAudioInstance(), KymeraOutput_GetMainSampleRate() /* for now input/output rate are same */);
/* if stereo, then synchronize */
if(line_in_r)
    SourceSynchronise(line_in_l, line_in_r);

DEBUG_LOG("kymeraWiredAnalog_StartChains");
/* The media source may fail to connect to the input chain if the source
disconnects between the time wired analog audio asks Kymera to start and this
function being called. wired analog audio will subsequently ask Kymera to stop. */
connected = ChainConnectInput(theKymera->chain_input_handle, line_in_l, EPR_WIRED_STEREO_INPUT_L);
if(line_in_r)
    connected = ChainConnectInput(theKymera->chain_input_handle, line_in_r, EPR_WIRED_STEREO_INPUT_R);

/* Start the output chain regardless of whether the source was connected
to the input chain. Failing to do so would mean audio would be unable
to play a tone. This would cause kymera to lock, since it would never
receive a KYMERA_OP_MSG_ID_TONE_END and the kymera lock would never
be cleared. */
KymeraOutput_ChainStart();
Kymera_StartMusicProcessingChain();

if (connected)
    ChainStart(theKymera->chain_input_handle);

}在这里插入图片描述

基础上动态切换输出方式,
在这里插入图片描述
根据使用场景也可以直接修改为同时输出
在这里插入图片描述


http://www.kler.cn/a/105115.html

相关文章:

  • 2023年系统设计面试如何破解?进入 FAANG 面试的实战指南
  • Kafka3.x安装以及使用
  • python爬虫入门(三)正则表达式
  • [C#基础训练]FoodRobot食品管理部分代码-1
  • Office技巧(持续更新)(Word、Excel、PPT、PowerPoint、连续引用、标题、模板、论文)
  • 【Java 进阶篇】Java Request 原理详解
  • 【Docker】Docker Swarm介绍与环境搭建
  • 深度学习中的不确定性综述
  • 单例模式python实现
  • RT-Thread 7. RT-Thread Studio ENV修改MCU型号
  • zookeeper源码(02)源码编译启动及idea导入
  • 如何在小红书安全引流?
  • 《语音优先》智能语音技术驱动的交互界面设计与语音机器人设计(译者序)...
  • 前端数据可视化之【series、series饼图配置】配置项
  • uniapp进行条件编译的两种方法
  • 以太坊搭建私有链(非常详细!!!)
  • Haproxy 服务
  • 【nodejs脚本】为文件夹中的所有node项目执行命令 npm install 并收集error日志
  • 面向对象编程原则
  • css3 2d转换transform详细解析与代码实例transform