Share via


AudioGroup 類別

定義

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
屬性

備註

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。 呼叫 或 RtpStream#setMode(int) ,即可以邏輯方式開啟或關閉 #setMode(int) 這些元件。 AudioGroup 會經歷這些元件,並在其執行迴圈內逐一處理這些元件。 迴圈包含四個步驟。 首先,針對不在 中的 RtpStream#MODE_SEND_ONLY 每個 AudioStream,解碼其傳入封包,並將其儲存在其緩衝區中。 然後,如果已啟用麥克風,請處理錄製的音訊並儲存在其緩衝區中。 第三,如果已啟用喇叭,請混合所有 AudioStream 緩衝區並播放。 最後,針對不在 中的每個 RtpStream#MODE_RECEIVE_ONLY AudioStream,混合所有其他緩衝區,並傳回編碼的封包。 如果其中沒有 AudioStream,AudioGroup 就不會執行任何動作。

使用這些類別之前,必須先注意幾件事。 效能與系統負載和網路頻寬高度相關。 通常較簡單的 AudioCodec CPU 週期成本較少,但需要更多網路頻寬,反之亦然。 同時使用兩個 AudioStreams 不僅會加倍負載,也會讓頻寬倍增。 條件會因裝置而異,開發人員應該選擇正確的組合,以獲得最佳結果。

有時最好同時保留多個 AudioGroup。 例如,Voice over IP (VoIP) 應用程式可能會想要保留通話,以便進行新的通話,但仍允許通話中的人員彼此交談。 這可以使用兩個 AudioGroup 輕鬆完成,但有一些限制。 由於喇叭和麥克風是全域共用的資源,因此一次只能有一個 AudioGroup 在 以外的 #MODE_ON_HOLD 模式中執行。 其他人將無法取得這些資源,並以無訊息方式失敗。

<p class=「note」 > 使用這個類別需要 android.Manifest.permission#RECORD_AUDIO 許可權。 開發人員應該將音訊模式設定為 AudioManager#MODE_IN_COMMUNICATION 使用 AudioManager#setMode(int) ,並在沒有任何 AudioGroups 正在使用時將它變更回 。 </P>

已取代這個成員。 android.net.sip.SipManager 不再支援 和 相關聯的類別,不應作為未來 VOIP 應用程式的基礎。

android.net.rtp.AudioGroup JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

AudioGroup()

建立空的 AudioGroup。

AudioGroup(Context)

建立空的 AudioGroup。

AudioGroup(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
JniIdentityHashCode

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
JniPeerMembers

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

Mode

傳回目前的模式。 -或- 變更目前的模式。

PeerReference

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

方法

Clear()

AudioStream移除此群組中的每個 。

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
Dispose()

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
Dispose(Boolean)

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetStreams()

AudioStream 回這個群組中的 。

JavaFinalize()

當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
SendDtmf(Int32)

將 DTMF 數位傳送至 AudioStream 此群組中的每個 。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
IJavaPeerable.Finalized()

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

GetJniTypeName(IJavaPeerable)

AudioGroup 是喇叭、麥克風和 AudioStream 的音訊中樞。

適用於