Android12 获取音频输出列表设置音频输出通道

news/2024/12/29 3:18:08/

1.获取音频输出列表

有个需求是APP端能够获取所有音频输出列表,研究了很长时间源码,发现只有这个API合适。

AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);

这个API能够获取到设备上所有可用的输出,且APP可以调用。

2.设置音频输出通道

需要在framework层修改,找一个Manager或者自己写一个Manager,添加以下API方法。

    @Overridepublic void setPreferredDevice(int type) {AudioDeviceInfo device = null;AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);for(AudioDeviceInfo dev : devices) {if(dev.getType() == type && type != 0){device = dev;break;}}if (device == null) {Log.i(TAG, "Skip se

http://www.ppmy.cn/news/578590.html

相关文章

Unity 3D开发--音频管理

接手了前同事们的一个元宇宙的项目,里面有各楼层不同的背景音乐,人物的一些动作音效,一些书籍音频,语音问答,投屏语音通信,靠近播放视频等,需要对音频做各种播放、暂停、切换、停止等操作&#…

服务全球开发者!灵雀云与Ubuntu推出一体化云原生解决方案

近日,国内企业级云原生解决方案的领军企业灵雀云,与操作系统软件Ubuntu的原厂企业Canonical(以下简称Ubuntu)共同宣布达成战略合作。双方将提供操作系统软件Ubuntu与云原生开放平台ACP的深度融合一体化解决方案,为开发…

U3D游戏开发框架(四)——音频管理器

一:目的 游戏音频的播放在任何游戏中都占据非常重要的地位,音频的播放可以分为两种,一种为游戏音乐,另一种为游戏音效。前者适用于较长的音乐,如游戏背景音乐。第二种适用于比较短的游戏音乐,如开枪瞬间的…

【7. 无源演奏音乐】

无源演奏音乐 树梅派无源蜂鸣器C调音符与频率对照表 树梅派无源蜂鸣器 /**************************************** 时间&#xff1a;* 内容&#xff1a;无源蜂鸣器演奏&#xff0c;简单版****************************************/#include<wiringPi.h> #include<s…

Unity3d--基于对象池优化思想的音频管理系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Resource文件夹下的音效片段目录二、采用单例模式作为全局访问方式三、音效类型分类四、播放音效的组件池的数据对象五、播放时的参数封装六、音效播放管理…

游戏引擎基础(六)(声音系统,音频APIs)

第6部分: 声音系统&#xff0c;音频APIs声音系统  由于人们玩的游戏在种类和技术上的进步&#xff0c;声音和音乐近几年来在游戏中正逐渐变得重要起来&#xff08;声音是一个实际游戏的可玩特点&#xff0c;比如在Thief和其它同类游戏中的听觉提示&#xff09;。现在四声道环…

空间音频 2

13&#xff5c;如何利用HRTF实现听音辨位&#xff1f; 之前介绍了空间音频的基本概念&#xff0c;以及空间音频是如何采集和播放的。已经基本掌握了空间音频的基本原理。其实在游戏、社交、影视等场景中&#xff0c;空间音频被广泛地应用于构建虚拟的空间环境。 在空间音频的…

house的项目2天总结

uni-house-day01 项目功能点 首页 轮播图 ui-app的轮播组件ui框架的轮播组件【更简单】 图标&#xff08;ui框架布局&#xff09;猜你喜欢 触底加载 【重点】 城市选择页面 【重点】 渲染这个页面&#xff0c;你需要什么数据。把后端的数据转换成自己的数据【前端开发必备的…