AudioGroup 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
AudioGroup은 스피커, 마이크 및 AudioStream
의 오디오 허브입니다.
[Android.Runtime.Register("android/net/rtp/AudioGroup", DoNotGenerateAcw=true)]
public class AudioGroup : Java.Lang.Object
[<Android.Runtime.Register("android/net/rtp/AudioGroup", DoNotGenerateAcw=true)>]
type AudioGroup = class
inherit Object
- 상속
- 특성
설명
AudioGroup은 스피커, 마이크 및 AudioStream
의 오디오 허브입니다. 이러한 각 구성 요소는 또는 RtpStream#setMode(int)
를 호출 #setMode(int)
하여 논리적으로 켜거나 끌 수 있습니다. AudioGroup은 이러한 구성 요소를 살펴보고 실행 루프 내에서 하나씩 처리합니다. 루프는 네 단계로 구성됩니다. 먼저 에 없는 각 AudioStream에 RtpStream#MODE_SEND_ONLY
대해 들어오는 패킷을 디코딩하고 버퍼에 저장합니다. 그런 다음 마이크를 사용하도록 설정하면 녹음된 오디오를 처리하고 버퍼에 저장합니다. 셋째, 스피커를 사용하도록 설정하면 모든 AudioStream 버퍼를 혼합하고 재생합니다. 마지막으로 에 없는 각 AudioStream에 RtpStream#MODE_RECEIVE_ONLY
대해 다른 모든 버퍼를 혼합하고 인코딩된 패킷을 다시 보냅니다. AudioGroup에 AudioStream이 없으면 아무 작업도 수행하지 않습니다.
이러한 클래스를 사용하기 전에 주의해야 할 사항은 거의 없을 것입니다. 성능은 시스템 부하 및 네트워크 대역폭과 매우 관련이 있습니다. 일반적으로 더 AudioCodec
간단하면 CPU 주기가 줄어들지만 더 많은 네트워크 대역폭이 필요하며 vise도 마찬가지입니다. 두 개의 AudioStream을 동시에 사용하면 부하뿐만 아니라 대역폭도 두 배로 증가합니다. 조건은 디바이스마다 다르며 개발자는 최상의 결과를 얻기 위해 올바른 조합을 선택해야 합니다.
여러 AudioGroup을 동시에 유지하는 것이 유용한 경우도 있습니다. 예를 들어 VoIP(Voice over IP) 애플리케이션은 새 전화를 걸기 위해 전화 회의를 보류하려고 하지만 전화 회의의 사람들이 서로 통신할 수 있도록 허용할 수 있습니다. 이 작업은 두 개의 AudioGroup을 사용하여 쉽게 수행할 수 있지만 몇 가지 제한 사항이 있습니다. 스피커와 마이크는 전역적으로 공유되는 리소스이므로 한 번에 하나의 AudioGroup만 이외의 #MODE_ON_HOLD
모드에서 실행할 수 있습니다. 다른 리소스는 이러한 리소스를 획득할 수 없으며 자동으로 실패합니다.
<p class="note">이 클래스를 android.Manifest.permission#RECORD_AUDIO
사용하려면 권한이 필요합니다. 개발자는 오디오 모드를 사용 AudioManager#setMode(int)
으로 AudioManager#MODE_IN_COMMUNICATION
설정하고 AudioGroups를 사용하지 않을 때 다시 변경해야 합니다.</P>
이 멤버는 더 이상 사용되지 않습니다. android.net.sip.SipManager
및 관련 클래스는 더 이상 지원되지 않으며 향후 VOIP 앱의 기초로 사용해서는 안 됩니다.
에 대한 Java 설명서입니다 android.net.rtp.AudioGroup
.
이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
AudioGroup() |
빈 AudioGroup을 만듭니다. |
AudioGroup(Context) |
빈 AudioGroup을 만듭니다. |
AudioGroup(IntPtr, JniHandleOwnership) |
JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
속성
Class |
이 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
JniIdentityHashCode |
AudioGroup은 스피커, 마이크 및 |
JniPeerMembers |
AudioGroup은 스피커, 마이크 및 |
Mode |
현재 모드를 반환합니다. -또는- 현재 모드를 변경합니다. |
PeerReference |
AudioGroup은 스피커, 마이크 및 |
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
메서드
Clear() |
이 그룹의 모든 |
Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
Dispose() |
AudioGroup은 스피커, 마이크 및 |
Dispose(Boolean) |
AudioGroup은 스피커, 마이크 및 |
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
GetHashCode() |
개체의 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
GetStreams() |
이 그룹의 를 |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
SendDtmf(Int32) |
이 그룹의 모든 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
ToArray<T>() |
AudioGroup은 스피커, 마이크 및 |
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
UnregisterFromRuntime() |
AudioGroup은 스피커, 마이크 및 |
Wait() |
현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IJavaPeerable.Disposed() |
AudioGroup은 스피커, 마이크 및 |
IJavaPeerable.DisposeUnlessReferenced() |
AudioGroup은 스피커, 마이크 및 |
IJavaPeerable.Finalized() |
AudioGroup은 스피커, 마이크 및 |
IJavaPeerable.JniManagedPeerState |
AudioGroup은 스피커, 마이크 및 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
AudioGroup은 스피커, 마이크 및 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
AudioGroup은 스피커, 마이크 및 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
AudioGroup은 스피커, 마이크 및 |
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
AudioGroup은 스피커, 마이크 및 |
GetJniTypeName(IJavaPeerable) |
AudioGroup은 스피커, 마이크 및 |