Hi3536音频单声道改双声道
单声道参数设置:
stAioAttr.enSamplerate = AUDIO_SAMPLE_RATE_8000; stAioAttr.enBitwidth = AUDIO_BIT_WIDTH_16;stAioAttr.enWorkmode = AIO_MODE_I2S_MASTER;stAioAttr.enSoundmode = AUDIO_SOUND_MODE_MONO;stAioAttr.u32EXFlag = 1;stAioAttr.u32FrmNum = 30;stAioAttr.u32PtNumPerFrm = SAMPLE_AUDIO_PTNUMPERFRM;stAioAttr.u32ChnCnt = 1;stAioAttr.u32ClkChnCnt = 2;stAioAttr.u32ClkSel = 0;
双声道参数设置:
stAioAttr.enSamplerate = AUDIO_SAMPLE_RATE_8000;stAioAttr.enBitwidth = AUDIO_BIT_WIDTH_16;stAioAttr.enWorkmode = AIO_MODE_I2S_MASTER;stAioAttr.enSoundmode = AUDIO_SOUND_MODE_MONO; //仍为单声道模式stAioAttr.u32EXFlag = 1;stAioAttr.u32FrmNum = 30;stAioAttr.u32PtNumPerFrm = SAMPLE_AUDIO_PTNUMPERFRM;stAioAttr.u32ChnCnt = 2; //通道数改为2stAioAttr.u32ClkChnCnt = 2;stAioAttr.u32ClkSel = 0;
单声道绑定输入输出
/* bind AI to AO channle */if (HI_TRUE == gs_bUserGetMode){s32Ret = SAMPLE_COMM_AUDIO_CreatTrdAiAo(AiDev, AiChn, AoDev, AoChn); //左声道if (s32Ret != HI_SUCCESS){SAMPLE_DBG(s32Ret);return HI_FAILURE;}}else{ s32Ret = SAMPLE_COMM_AUDIO_AoBindAi(AiDev, AiChn, AoDev, AoChn); //左声道if (s32Ret != HI_SUCCESS){SAMPLE_DBG(s32Ret);return HI_FAILURE;}}printf("ai(%d,%d) bind to ao(%d,%d) ok\n", AiDev, AiChn, AoDev, AoChn); //左声道
双声道绑定输入输出
/* bind AI to AO channle */if (HI_TRUE == gs_bUserGetMode){s32Ret = SAMPLE_COMM_AUDIO_CreatTrdAiAo(AiDev, AiChn, AoDev, AoChn); //左声道if (s32Ret != HI_SUCCESS){SAMPLE_DBG(s32Ret);return HI_FAILURE;}s32Ret = SAMPLE_COMM_AUDIO_CreatTrdAiAo(AiDev, AiChn, AoDev, AoChn+1); //右声道if (s32Ret != HI_SUCCESS){SAMPLE_DBG(s32Ret);return HI_FAILURE;}}else{ s32Ret = SAMPLE_COMM_AUDIO_AoBindAi(AiDev, AiChn, AoDev, AoChn); //左声道if (s32Ret != HI_SUCCESS){SAMPLE_DBG(s32Ret);return HI_FAILURE;}s32Ret = SAMPLE_COMM_AUDIO_AoBindAi(AiDev, AiChn, AoDev, AoChn+1); //右声道if (s32Ret != HI_SUCCESS){SAMPLE_DBG(s32Ret);return HI_FAILURE;}}printf("ai(%d,%d) bind to ao(%d,%d) ok\n", AiDev, AiChn, AoDev, AoChn); //左声道printf("ai(%d,%d) bind to ao(%d,%d) ok\n", AiDev, AiChn, AoDev, AoChn+1); //右声道
完结,撒花!!
Hi3536音频单声道改双声道相关推荐
- Hi3519音频单声道改双声道
修改源文件Hi3519AV100_SDK_V2.0.2.0/smp/a53_linux/mpp/sample/audio/sample_audio.c 单声道 AUDIO_DEV AiDev = SA ...
- C++音频单声道、双声道之间的转换
本篇文件介绍 音频PCM数据的单声道.双声道之间的转换 下面介绍函数参数: 一.StereoToMono函数. 双声道转单声道 参数1:资源buffer(双声道数据) 参数2:资源buffer大小(双 ...
- python 进行音频处理,单声道变双声道,提升音量
准备条件,安装ffmpeg ffmpeg官网 1 2 将下载下来的zip解压,添加环境变量 使用AudioSegment进行格式转换为wav 使用wave进行单声道转换为双声道 使用AudioSegm ...
- 单声道数据转双声道_单声道转双声道方法
单声道转双声道方法 前段时间有个朋友问我如何可以将一个音频文件的单声道转换为双声道 [音频文件右键查看 属性 → 摘要 → 音频 → 频道( 1. 单声道 2. 立体声) ] ,于是我推荐他用 Gol ...
- linux 单声道数据处理,一次搞懂单声道、双声道、立体声 — 声音处理技术
原标题:一次搞懂单声道.双声道.立体声 - 声音处理技术 一次搞懂单声道.双声道.立体声 - 声音处理技术 声音技术的发展史 1877年爱迪生除了发明电灯,也发明了第一个可以回放声音的装置,从此之后声 ...
- pcm 8k单声道和双声道采样_音频接口PCM
1 简介 PCM (Pulse Code Modulation) 是通过等时间隔(即采样率时钟周期)采样将模拟信号数字化的方法.图 1为 4 bit 采样深度的PCM 数据量化示意图.PCM 数字音频 ...
- 音频PCM数据的单声道、双声道之间的转换
在使用tinyalsa处理PCM音频数据时发现该设备只能以双声道形式打开设备. tinypcminfo工具可以查看设备信息. out和in里面channels 最大和最小值都是2.但是实际使用中有时候 ...
- 录音技术:从单声道到双声道
2019独角兽企业重金招聘Python工程师标准>>> 1877年,美国著名发明家托马斯•爱迪生发明了留声机的最初形式--滚筒式留声机,由此,人类进入了单声道的录音时代.声道,顾名思 ...
- android声音播放函数双声道合并,Android音视频系列(七):PCM音频单声道与双声道的相互转换...
前言 上一篇我们已经学习了PCM音频的保存格式,这一篇我们通过掌握的知识,完成PCM音频的单声道和双声道的互相转换. 正文 首先我们把上一篇的最核心部分贴出来: PCM音频保存格式 我们首先完成单声道 ...
最新文章
- android mysql 搜索功能_android利用数据库实现搜索联想功能
- 79期:Faceu的分布式数据库实战访谈
- 【Git版本控制】为什么要先commit,然后pull,最后再push?而不是commit然后直接push?...
- jmr连接mysql_MYSQL 优化之延迟关联
- NYOJ15-括号匹配(二)-区间DP
- bzoj3626:[LNOI2014]LCA
- mysql开启慢查询方法(转)
- Centos中不从skel目录里向其中复制任何文件错误的解决方法
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-11项目日志解决方案
- 漫话:为什么计算机用补码存储数据?
- 【Python】之glob库介绍
- AndroidStudio_从Eclipse到AndroidStudio开发工具_认识使用AndroidStudio_导入用eclipse开发的工程---Android原生开发工作笔记69
- mySQL用户和权限管理v1
- 【100Days of 100 line Code】2 day
- 问题三十九:怎么用ray tracing画圆环
- 【转】Java 学习杂谈(二)
- Jmeter4.0新版本特性研究
- 基于麻雀搜索算法优化深度置信网络的分类方法(SSA-DBN)
- 计算机网络习题(参考)
- 地表最强报表工具,一张模板秒杀数百Excel !