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

本文介绍了如何在Android12中获取音频输出列表并设置音频输出通道。首先,通过特定API获取设备上的所有可用音频输出;接着,在framework层创建或修改Manager,添加设置音频输出通道的API;最后,APP调用Manager的方法进行通道切换。实测在蓝牙和3.5mm耳机切换场景下工作正常。
摘要由CSDN通过智能技术生成

1.获取音频输出列表

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

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

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

2.设置音频输出通道

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

    @Override
    public 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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Frame Not Work

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值