audio_policy.conf文件:AUDIO_DEVICE_IN_REMOTE_SUBMIX含义
参考博客:
https://blog.csdn.net/yangwen123/article/details/39497375
http://www.cnblogs.com/albert1017/p/3940010.html
/Codebase/device/linaro/hikey/audio/audio_policy.conf
在Andorid音频开发中,我们会看到叫做 REMOTE_SUBMIX 的音频类型,相应地在底层会有 AUDIO_DEVICE_OUT_REMOTE_SUBMIX 和 AUDIO_DEVICE_IN_REMOTE_SUBMIX 音频设备,在 audio_policy.conf 配置文件中也能看到 r_submix 设备。这次在开发中终于看到了这类音频的使用场景——使设备通过 WiFi 向 ChromeCast 设备传输 HDMI 数据(HDMI 同时含有视频数据和音频数据)。
REMOTE_SUBMIX 表示被传输至远程接收设备(比如 WiFi 显示器,这次开发中使用的就是将 ChromeCast 设备接到一个显示器上)的音频,这类音频数据流会被重定向至远程输出而非在本地扬声器或耳机播放。但如果这其中包含了 STREAM_RING、STREAM_ALARM、STRAM_NOTIFICATION 这类音频数据,被包含的这些数据不会被发送到远程。
# Global configuration section: lists input and output devices always present on the device
# as well as the output device selected by default.
# Devices are designated by a string that corresponds to the enum in audio.hglobal_configuration {attached_output_devices AUDIO_DEVICE_OUT_CUSTOM|AUDIO_DEVICE_OUT_SPEAKERdefault_output_device AUDIO_DEVICE_OUT_SPEAKERattached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX
}
#全局配置部分:列出了设备上总是存在的输入输出设备,它也是系统默认选择的输出设备
#这里的输入输出设备必须是audio.h中列出的枚举类
attached_output_devices:已连接的输出设备;
default_output_device:默认输出设备;
attached_input_devices:已连接的输入设备;
# audio hardware module section: contains descriptors for all audio hw modules present on the
# device. Each hw module node is named after the corresponding hw module library base name.
# For instance, "primary" corresponds to audio.primary.<device>.so.
# The "primary" module is mandatory and must include at least one output with
# AUDIO_OUTPUT_FLAG_PRIMARY flag.
# Each module descriptor contains one or more output profile descriptors and zero or more
# input profile descriptors. Each profile lists all the parameters supported by a given output
# or input stream category.
# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
#audio hardware module部分:包含了对设备上的所有的audio hw modules的descriptors,每一个hw module节点
#的名字都与相应的so库名称相对应,例如:"primary"对应audio.primary.<device>.so。其中"primary"module是
#必须的,而且它必须包含一个含AUDIO_OUTPUT_FLAG_PRIMARY标志的output,每一个module的descriptor必须至少
#包含一个output配置descriptor和大于等于0个的input配置descriptor,每一个配置都描述了输入输出流类型支持
#的参数,其中的 "channel_masks"、"formats"、"devices"和"flags"必须为audio.h、audio_policy.h中定义的枚
#举值,它们可以通过|连接,但不能包含空格和"\n"。
audio_hw_modules {primary {outputs {primary {sampling_rates 48000channel_masks AUDIO_CHANNEL_OUT_STEREOformats AUDIO_FORMAT_PCM_16_BITdevices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCOflags AUDIO_OUTPUT_FLAG_PRIMARY}}inputs {primary {sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000channel_masks AUDIO_CHANNEL_IN_MONOformats AUDIO_FORMAT_PCM_16_BITdevices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET}}}a2dp {outputs {a2dp {sampling_rates 44100channel_masks AUDIO_CHANNEL_OUT_STEREOformats AUDIO_FORMAT_PCM_16_BITdevices AUDIO_DEVICE_OUT_ALL_A2DP}}}usb {outputs {usb_accessory {sampling_rates 44100channel_masks AUDIO_CHANNEL_OUT_STEREOformats AUDIO_FORMAT_PCM_16_BITdevices AUDIO_DEVICE_OUT_USB_ACCESSORY}usb_device {sampling_rates dynamicchannel_masks dynamicformats dynamicdevices AUDIO_DEVICE_OUT_USB_DEVICE}}inputs {usb_device {sampling_rates dynamicchannel_masks dynamicformats dynamicdevices AUDIO_DEVICE_IN_USB_DEVICE}}}r_submix {outputs {submix {sampling_rates 48000channel_masks AUDIO_CHANNEL_OUT_STEREOformats AUDIO_FORMAT_PCM_16_BITdevices AUDIO_DEVICE_OUT_REMOTE_SUBMIX}}inputs {submix {sampling_rates 48000channel_masks AUDIO_CHANNEL_IN_STEREOformats AUDIO_FORMAT_PCM_16_BITdevices AUDIO_DEVICE_IN_REMOTE_SUBMIX}}}
}
定义了系统支持的所有音频接口参数信息,比如primary、a2dp、usb、r_submix。每种音频接口包含输入输出,每种输入输出又包含多种输入输出配置,每种输入输出配置又支持多种音频设备。
audio_policy.conf文件:AUDIO_DEVICE_IN_REMOTE_SUBMIX含义相关推荐
- 从pg_hba.conf文件谈谈postgresql的连接认证
最近一直在弄postgresql的东西,搭建postgresql数据库集群环境什么的.操作数据库少不得要从远程主机访问数据库环境,例如数据库管理员的远程管理数据库,远程的客户存取数据库文件. 而在po ...
- Tomcat logs 目录下各日志文件的含义
[Tomcat]tomcat logs 目录下各日志文件的含义 tomcat每次启动时,自动在logs目录下生产以下日志文件,按照日期自动备份.可以帮助我们更好的找出错误. 一. 认识各种目录的作用及 ...
- 【Tomcat】tomcat logs 目录下各日志文件的含义
[Tomcat]tomcat logs 目录下各日志文件的含义 一.认识各种目录的作用及记录的信息目录 1.catalina.日期.log 2.commons-daemon.日期.log 3.host ...
- ipsec.conf 各配置含义
IPsec.conf 是 IPsec 协议的配置文件,它包含了各种网络安全相关的配置信息.下面是常见的一些配置项及其含义: conn:连接名,表示需要建立的安全连接的名称. left(或者 lefts ...
- Postgres pg_hba.conf文件
什么是pg_hba文件? HBA全称是host-based authentication(基于主机的认证).在initdb初始化数据目录时,它会在PG数据目录下安装一个默认的pg_hba.conf文件 ...
- 打开文件和关闭文件的含义
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p257 习题8 2.打开文件和关闭文件的含义是什么?打开文件和关闭文件各意味着什么? 打开文件--&g ...
- 教你一招超级简单的方法快速搞定grub.conf文件的丢失及损坏
教你一招超级简单的方法快速搞定grub.conf文件的丢失及损坏 实验环境: GRUB是大多数Linux系统默认使用的引导程序,当"/boot/grub/grub.conf"配置文 ...
- Linux系统下的/etc/nsswitch.conf文件
源贴:http://blog.csdn.net/waqwn/article/details/51687719 一.什么是nsswithch.conf(服务搜索顺序)文件呢? nsswitch.conf ...
- nsswitch.conf文件详解
一.nsswithch.conf:服务搜索顺序 文件/etc/nsswitch.conf(name service switch configuration,名字服务切换配置)规定通过哪些途 ...
最新文章
- python3 模板库 好用_良心整理15个超级Python库,不要错过
- U盘无法安全正常弹出和删除如何处理
- iOS GPUImage之视频采集GPUImageVideoCamera
- 负债十五万左右,信用卡十万,网贷四五万,怎么上岸?
- 百度押注AI有了大回报,李彦宏首次披露Apollo如何赚钱
- Effective Objective-C 2.0 Tips 总结 Chapter 3 Chapter 4
- 自动垃圾回收学习笔记-垃圾回收算法
- JAVA常用的工具类
- 前端安全(常见WEB攻击及防范)
- Apache自带的ab压力测试工具用法详解
- html隐藏地址栏,js新打开页面隐藏地址栏
- LeetCode contest 182 5369. 统计作战单位数
- Linux 设置代理
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句...
- 自定义 QGraphicsItem
- vue脚手架下载及使用
- IMU之磁力计校准地磁场计算磁航向
- v4l2 Camera详细设置
- edas上传pdf 失败
- 鸿蒙系统暗黑2,暗黑2 二十大最难爆出来的暗金装备(上)
热门文章
- 课堂实验一 SQL基础练习
- [ 电脑维修那些事 ] 一招教你自己解决电脑蓝屏
- 通向架构师的道路(第三天)之apache性能调优
- 【51单片机】(手把手教你)串口通信-基础篇
- 1024 发福利,送你一份珍藏依旧的 Java,大数据礼包,确定不收藏 ?拒绝白嫖 !
- 美团红包饿了么红包CPS小程序+ H5 +推出外卖红包应用,带有后台代码,安装超级简单-源码
- 现代通信网(第1章 绪论)
- git cheatsheet
- python-docx 设置标题heading的中文字体类型+设置正文的中文字体类型
- 加拿大量子计算机原理,量子计算机是基于什么原理而制造出来的?