我的用例是我有一个应用程序,用户可以在其中按下一个按钮,它可以在外部扬声器和有线耳机/蓝牙设备之间切换。如果用户连接到有线耳机或蓝牙耳机设备,我想将有线耳机或蓝牙的音频输出切换到外部扬声器,然后当他们再次单击时,重新启用有线耳机/蓝牙音频输出.
有谁知道这可以在 Android 10 中完成?我在这篇文章中尝试了以下示例,但它并不总是适用于蓝牙情况。我的代码如下:
if (shouldEnableExternalSpeaker) {
audioManager.mode = AudioManager.MODE_IN_COMMUNICATION
audioManager.isSpeakerphoneOn = true
if (isBlueToothConnected) {
audioManager.stopBluetoothScoOn()
}
} else {
if (isBlueToothConnected) {
audioManager.startBluetoothSco()
}
audioManager.mode = AudioManager.NORMAL
audioManager.isSpeakerphoneOn = false
}
Run Code Online (Sandbox Code Playgroud)
我还拥有对用户音频的必要权限:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
我有一个像这样的 numpy 数组:
arr = [.2 , .1, .2, .3, .2 ]
Run Code Online (Sandbox Code Playgroud)
现在我想做的是从这个数组中采样,这样我获得某个索引的概率取决于该索引的概率。例如,我得到索引 3 的概率是.3
有人知道有什么巧妙的方法可以做到这一点吗?
我正在尝试将a转换List<T>为Map<T, U>使用Java 8,但我一直陷入这一部分.我想要的是地图的值是U类型的某个变量.让我们说这个例子T是一个Person对象并且U是一个String.
list.stream().collect(Collectors.toMap(x -> x, ""));
Run Code Online (Sandbox Code Playgroud)
但是,我不断收到以下错误x -> x:
no instance of type variable T,U exists so that String conforms to Function<? super T, ? extends U>
Run Code Online (Sandbox Code Playgroud)
关于问题的任何想法?