AudioGroup 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
AudioGroup은 스피커, 마이크 및 AudioStream
s의 오디오 허브입니다.
[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
s의 오디오 허브입니다. 이러한 각 구성 요소는 호출 #setMode(int)
하거나 호출하여 논리적으로 켜거나 RtpStream#setMode(int)
끌 수 있습니다. AudioGroup은 이러한 구성 요소를 살펴보고 실행 루프 내에서 하나씩 처리합니다. 루프는 4단계로 구성됩니다. 먼저 AudioStream이 없는 각 오디오 스트림에 RtpStream#MODE_SEND_ONLY
대해 들어오는 패킷을 디코딩하고 버퍼에 저장합니다. 그런 다음 마이크를 사용하도록 설정하면 녹음된 오디오를 처리하고 버퍼에 저장합니다. 셋째, 스피커를 사용하도록 설정하면 모든 AudioStream 버퍼를 혼합하고 재생합니다. 마지막으로, AudioStream이 없는 각 오디오 스트림에 RtpStream#MODE_RECEIVE_ONLY
대해 다른 모든 버퍼를 혼합하고 인코딩된 패킷을 다시 보냅니다. AudioGroup에 AudioStream이 없으면 아무 작업도 수행하지 않습니다.
이러한 클래스를 사용하기 전에 몇 가지 사항을 알아차릴 수 있습니다. 성능은 시스템 부하 및 네트워크 대역폭과 매우 관련이 있습니다. 일반적으로 CPU AudioCodec
주기는 더 적지만 더 많은 네트워크 대역폭이 필요하며 vise도 마찬가지입니다. 두 AudioStream을 동시에 사용하면 부하뿐만 아니라 대역폭도 두 배가 됩니다. 조건은 디바이스마다 다르며 개발자는 최상의 결과를 얻기 위해 적절한 조합을 선택해야 합니다.
여러 AudioGroup을 동시에 유지하는 것이 유용한 경우도 있습니다. 예를 들어 VoIP(Voice over IP) 애플리케이션은 전화 회의를 보류하여 새 전화를 걸지만 전화 회의의 사람들이 서로 통신할 수 있도록 허용할 수 있습니다. 이 작업은 두 개의 AudioGroup을 사용하여 쉽게 수행할 수 있지만 몇 가지 제한 사항이 있습니다. 스피커와 마이크는 전역적으로 공유되는 리소스이므로 한 번에 하나의 AudioGroup만 이외의 #MODE_ON_HOLD
모드에서 실행할 수 있습니다. 다른 리소스는 이러한 리소스를 획득할 수 없으며 자동으로 실패합니다.
<p class="note">이 클래스를 android.Manifest.permission#RECORD_AUDIO
사용하려면 권한이 필요합니다. 개발자는 오디오 모드 AudioManager#MODE_IN_COMMUNICATION
를 사용하도록 AudioManager#setMode(int)
설정하고 오디오 그룹을 사용하지 않을 때 다시 변경해야 합니다.</P>
이 멤버는 더 이상 사용되지 않습니다. android.net.sip.SipManager
및 연결된 클래스는 더 이상 지원되지 않으며 향후 VOIP 앱의 기초로 사용해서는 안 됩니다.
에 대한 android.net.rtp.AudioGroup
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
생성자
AudioGroup() |
빈 AudioGroup을 만듭니다. |
AudioGroup(Context) |
빈 AudioGroup을 만듭니다. |
AudioGroup(IntPtr, JniHandleOwnership) |
JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
속성
Class |
이 |
Handle |
기본 Android 인스턴스에 대한 핸들입니다. (다음에서 상속됨 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() |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.> (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 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은 스피커, 마이크 및 |