android tinyAlsa中的音频路由

swvgeqrz  于 2022-11-20  发布在  Android
关注(0)|答案(1)|浏览(127)

我们正在工作的定制板有音频编解码器,调幅/调频调谐器,BT耳机,BT经典所有由I2 S外设控制。我们想路由音频从BT经典到音频编解码器,BT经典到BT耳机等。
我们计划有单独的线程连接2个音频设备。在应用程序空间,我们将提供单独的设备ID,这将表明什么设备应该播放音频。
我需要知道我们如何才能创建一个线程链接2音频设备?还有,有没有其他方法来路由各种音频设备输出到另一个音频设备?

lmvvr0a8

lmvvr0a81#

BluetoothAdapter.getDefaultAdapter().getProfileProxy(this, mScanCallback, BluetoothProfile.A2DP);

    BluetoothProfile.ServiceListener mScanCallback = new BluetoothProfile.ServiceListener() {
    @Override
    public void onServiceConnected(int profile, BluetoothProfile proxy) {
        if (profile == BluetoothProfile.A2DP) {
            proxy.getConnectedDevices().forEach(device -> {
                if (selectedDevice1 != null
                        && selectedDevice1.getDeviceMAC().equalsIgnoreCase(device.getAddress())) {
                    try {
                        Class clazz = Class.forName("android.bluetooth.BluetoothA2dp");
                        Method method = clazz.getMethod("setActiveDevice", BluetoothDevice.class);
                        method.invoke(proxy, device);
                    } catch (Exception e) {
                        Log.e("TEST", "", e);
                    }
                }
            });
        }
    }

    @Override
    public void onServiceDisconnected(int i) {
    }
};

相关问题