다음을 통해 공유


AudioManager.SetCommunicationDevice(AudioDeviceInfo) 메서드

정의

음성 또는 영상 통화와 같은 통신 사용 사례에 사용해야 하는 오디오 장치를 선택합니다.

[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 되었으면 그렇지 않습니다.

특성

설명

음성 또는 영상 통화와 같은 통신 사용 사례에 사용해야 하는 오디오 장치를 선택합니다. 이 방법은 음성 또는 비디오 채팅 애플리케이션에서 플랫폼에서 기본적으로 선택한 것과 다른 오디오 장치를 선택하는 데 사용할 수 있습니다.

디바이스 선택은 .에서 반환된 AudioDeviceInfo 디바이스 중 하나로 표현됩니다 #getAvailableCommunicationDevices(). 싱크 역할의 디바이스(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#startBluetoothSco()><li#stopBluetoothSco()#setSpeakerphoneOn(boolean)><<>/ul<>h4>Example</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 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상