音频文件播放之音量控制【海思平台】
来源:互联网 发布:数据质量评估 编辑:程序博客网 时间:2024/06/10 04:48
概述
Hi3518A/Hi3518C/Hi3518E/Hi3516C 提供一个内置的 Audio Codec,并在芯片内部对接到 SIO0 接口,即 SIO0 接口只能通过内置的 Audio Codec 完成声音的播放及录制。因为 Audio Codec 不能发送同步时钟,所以 SIO0 接口只能配置为 I 2 S 时序的主模式,用户仍需要正确配置 SIO0 和 Audio Codec 对接时序才可接收或发送音频数据。
海思Hi3518_MPP_V1.0.A.0版本之前的SDK不支持音量动态控制,直到当前版本的发布,才可以正常使用ioctl函数的相关接口动态调节
动态调节API
ACODEC_SET_OUTPUT_VOL
ACODEC_GET_INPUT_VOL
定义处:
#define ACODEC_SET_OUTPUT_VOL \
_IOWR(IOC_TYPE_ACODEC, IOC_NR_SET_OUTPUT_VOL, unsigned int)
#define ACODEC_GET_INPUT_VOL \
_IOWR(IOC_TYPE_ACODEC, IOC_NR_GET_INPUT_VOL, unsigned int)
调节范围:0x0xffffff87~0xffffffff
程序示例
int openAcodec(){int fdAcodec = open(ACODEC_FILE,O_RDWR); if (fdAcodec < 0) { printf("[%s::%d] can't open acodec : %s", __func__, __LINE__,ACODEC_FILE); return -1; } return fdAcodec ;}int getOutputVol(int fdAcodec,int *pVol){int vol ; if (ioctl(fdAcodec, ACODEC_GET_OUTPUT_VOL, &vol)) { printf("[%s::%d] ACODEC_GET_OUTPUT_VOL fail \n",__func__,__LINE__); return -1; } printf("[%s::%d] ACODEC_GET_OUTPUT_VOL : %x \n",__func__,__LINE__,vol); *pVol = vol ; return 0 ;}int setOutputVol(int fdAcodec,int vol){ if(ioctl(fdAcodec, ACODEC_SET_OUTPUT_VOL, &vol)) { printf("[%s::%d] ACODEC_SET_OUTPUT_VOL fail : %x \n",__func__,__LINE__,vol); return -1; } return 0 ;}int closeAcodec(int fdAcodec){return close(fdAcodec); }
备注
该接口的调用要在HI_MPI_AO_Enable的调用之后,即AO使能启动之后,再调用。
0 0
- 音频文件播放之音量控制【海思平台】
- 音乐播放器之(音量控制的实现)
- android控制soundpool播放音量
- 音量控制和音频播放
- Directx之Dsound播放音频文件
- 错误总结之播放器(vitamio)音量实体键与触摸手势控制,音量调节冲突
- 播放音频文件
- 播放音频文件
- android Mp3播放器之音频文件扫描
- Anroid开发 之 音频文件的循环播放
- android Mp3播放器之音频文件扫描
- Unity3D游戏场景之播放音频文件
- 自定义view之音量控制
- Android官方开发文档Training系列课程中文版:管理音频播放之控制APP的音量与播放
- Android中的Audio播放:音量和远程播放控制
- Android中的Audio播放:音量和远程播放控制
- Android中的Audio播放:音量和远程播放控制
- Android中的Audio播放:音量和远程播放控制
- WP & Win10开发:实现ListView下拉加载的两种方法
- Fragment实现Tabhost效果(未完)
- iOS category
- Python2.x urllib2
- 14 个 Linux grep 命令的例子
- 音频文件播放之音量控制【海思平台】
- 页面弹层置灰 js
- 黑马程序员---------------------java基础--------------------网络编程
- fatal:pathspec did not match any file
- 117. Populating Next Right Pointers in Each Node II
- iOS给Model排序
- Android使用XUtils框架上传照片(一张或多张)和文本,服务器接收照片和文字(无乱码)
- URL编码与两次encodeURI
- 为什么有些人用一年时间获得了你十年的工作经验?