如何在 android 10 或更高版本中以编程方式切换音频输出?

问题描述

我有一个 Android 应用程序,我想在其中将媒体输出设置到特定设备,在我的例子中是手机的内置扬声器,同时连接到蓝牙设备。为清楚起见,我不希望只有我的应用程序通过特定输出播放。我希望系统媒体输出发生变化。

是的,我看到了:how to switch audio output programatically in android 10?。但是用这个方法不行。

我正在尝试使用音频管理器为媒体设置内部扬声器:

AudioManager am = (AudioManager)GetSystemService(AudioService);
am.Mode = Mode.normal;
am.StopBluetoothSco();
am.BluetoothScoOn = false;
am.SpeakerphoneOn = true;

在清单中我也放了

代码运行时,由 Visual Studio 中的日志确认,它不起作用。在媒体面板中,我的蓝牙设备仍处于选中状态。我还检查了它是否在不显示的情况下确实路由了音频,但它确实只是在蓝牙设备上播放。

我做错了什么还是有可能? 还是我必须使用完全不同的东西?

如果有用,我的设备是配备 Android 11 的三星 A41。 使用 Visual Studio Xamarin Android。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...