AudioGroup 类

定义

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

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

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

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

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

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

适用于 . 的 android.net.rtp.AudioGroupJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

AudioGroup()

创建空的 AudioGroup。

AudioGroup(Context)

创建空的 AudioGroup。

AudioGroup(IntPtr, JniHandleOwnership)

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

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

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

(继承自 Object)
JniPeerMembers

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

Mode

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

PeerReference

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

(继承自 Object)
ThresholdClass

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

ThresholdType

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

方法

Clear()

删除此组中的每一个 AudioStream

Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

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

(继承自 Object)
Dispose(Boolean)

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

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetStreams()

返回 AudioStream此组中的 s。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SendDtmf(Int32)

向此组中的每一个 AudioStream 发送 DTMF 数字。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

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

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

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

(继承自 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 是扬声器、麦克风和 AudioStreams 的音频中心。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(继承自 Object)
IJavaPeerable.Finalized()

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

(继承自 Object)
IJavaPeerable.JniManagedPeerState

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

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

适用于