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的音频中心。 通过调用 #setMode(int)RtpStream#setMode(int)或 ,可以在逻辑上打开或关闭其中每个组件。 AudioGroup 将遍历这些组件,并在其执行循环中逐个处理它们。 循环由四个步骤组成。 首先,对于 不在 中的每个 RtpStream#MODE_SEND_ONLYAudioStream,将解码其传入的数据包,并将其存储在其缓冲区中。 然后,如果启用了麦克风,则处理录制的音频并将其存储在其缓冲区中。 第三,如果扬声器已启用,则混合所有 AudioStream 缓冲区并播放。 最后,对于 不在 中的每个 RtpStream#MODE_RECEIVE_ONLYAudioStream,混合所有其他缓冲区并发送回编码的数据包。 如果其中没有 AudioStream,则 AudioGroup 不执行任何操作。

使用这些类之前,必须注意一些事项。 性能与系统负载和网络带宽密切相关。 通常,更简单 AudioCodec 的 CPU 周期成本更少,但需要更多网络带宽,反之亦然。 同时使用两个 AudioStream 不仅使负载和带宽翻倍。 条件因设备而异,开发人员应选择正确的组合以获得最佳结果。

有时,同时保留多个 AudioGroup 会很有用。 例如,IP 语音 (VoIP) 应用程序可能希望将电话会议置于暂停状态,以便进行新的呼叫,但仍允许电话会议中的人员相互交谈。 这可以使用两个 AudioGroup 轻松完成,但存在一些限制。 由于扬声器和麦克风是全局共享资源,因此一次只允许一个 AudioGroup 在 以外的 #MODE_ON_HOLD模式下运行。 其他资源将无法获取这些资源,并且以无提示方式失败。

<p class=“note”>使用此类需要 android.Manifest.permission#RECORD_AUDIO 权限。 开发人员应将音频模式设置为 AudioManager#MODE_IN_COMMUNICATION using AudioManager#setMode(int) ,并在未使用任何 AudioGroup 时将其更改回去。</P>

此成员已弃用。 android.net.sip.SipManager 和 关联的类不再受支持,不应用作未来 VOIP 应用的基础。

android.net.rtp.AudioGroupJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

构造函数

AudioGroup()

创建空的 AudioGroup。

AudioGroup(Context)

创建空的 AudioGroup。

AudioGroup(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

AudioGroup 是扬声器、麦克风和 AudioStream的音频中心。

(继承自 Object)
JniPeerMembers

AudioGroup 是扬声器、麦克风和 AudioStream的音频中心。

Mode

返回当前模式。 - 或 - 更改当前模式。

PeerReference

AudioGroup 是扬声器、麦克风和 AudioStream的音频中心。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

方法

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 <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/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的音频中心。

适用于