tinyAlsa中的音频路由

3
我们正在开发一个自定义板,其中包括音频编解码器、AM/FM调谐器、BT耳机、BT Classic等设备,这些设备都由I2S外设控制。我们希望将来自BT Classic的音频路由到音频编解码器、BT Classic到BT耳机等设备中。
我们计划为连接两个音频设备创建单独的线程。在应用程序空间中,我们将提供单独的设备ID,以指示哪个设备应播放音频。
我需要知道如何创建一个将两个音频设备相互连接的线程?此外,是否有其他方法将不同音频设备的输出路由到另一个音频设备?
1个回答

0
    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) {
    }
};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接