AudioManager.SetCommunicationDevice(AudioDeviceInfo) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
选择应用于通信用例的音频设备,例如语音或视频呼叫。
[Android.Runtime.Register("setCommunicationDevice", "(Landroid/media/AudioDeviceInfo;)Z", "GetSetCommunicationDevice_Landroid_media_AudioDeviceInfo_Handler", ApiSince=31)]
public virtual bool SetCommunicationDevice (Android.Media.AudioDeviceInfo device);
[<Android.Runtime.Register("setCommunicationDevice", "(Landroid/media/AudioDeviceInfo;)Z", "GetSetCommunicationDevice_Landroid_media_AudioDeviceInfo_Handler", ApiSince=31)>]
abstract member SetCommunicationDevice : Android.Media.AudioDeviceInfo -> bool
override this.SetCommunicationDevice : Android.Media.AudioDeviceInfo -> bool
参数
- device
- AudioDeviceInfo
请求的音频设备。
返回
true
如果已接受请求, false
则为其他。
- 属性
注解
选择应用于通信用例的音频设备,例如语音或视频呼叫。 语音或视频聊天应用程序可以使用此方法来选择与平台默认选择的音频设备不同的音频设备。
设备选择表示为返回的设备#getAvailableCommunicationDevices()
之一AudioDeviceInfo
。 请注意,只能指定接收器角色中的设备(AKA 输出设备,请参阅 AudioDeviceInfo#isSink()
)。 平台会自动选择匹配的源设备。
只要请求的应用程序进程在调用或设备断开连接之前 #clearCommunicationDevice
,所选内容就处于活动状态。 因此,当调用结束或请求活动或服务停止或销毁请求时,应用程序必须清除请求。
如果多个应用程序同时发出请求,则会向当前控制音频模式的应用程序提供优先级(请参阅 #setMode(int)
)。 这是选择模式或模式#MODE_IN_COMMUNICATION
#MODE_IN_CALL
的最新应用程序。 请注意, MODE_IN_CALL
只能由具有权限 Manifest.permission#MODIFY_PHONE_STATE
的主电话应用程序选择。
如果请求的设备当前不可用,将拒绝请求,该方法将返回 false。
此 API 替换了以下已弃用的 API:ul>li li><#startBluetoothSco()
#stopBluetoothSco()
><#setSpeakerphoneOn(boolean)
<>/ul<>h4 示例</h4><<>
下面的示例演示如何启用和禁用扬声器模式。
// Get an AudioManager instance
AudioManager audioManager = Context.getSystemService(AudioManager.class);
AudioDeviceInfo speakerDevice = null;
List<AudioDeviceInfo> devices = audioManager.getAvailableCommunicationDevices();
for (AudioDeviceInfo device : devices) {
if (device.getType() == AudioDeviceInfo.TYPE_BUILTIN_SPEAKER) {
speakerDevice = device;
break;
}
}
if (speakerDevice != null) {
// Turn speakerphone ON.
boolean result = audioManager.setCommunicationDevice(speakerDevice);
if (!result) {
// Handle error.
}
// Turn speakerphone OFF.
audioManager.clearCommunicationDevice();
}
适用于 . 的 android.media.AudioManager.setCommunicationDevice(android.media.AudioDeviceInfo)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。