public class AudioStream
extends RtpStream
java.lang.Object | ||
↳ | android.net.rtp.RtpStream | |
↳ | android.net.rtp.AudioStream |
AudioStream是一种RtpStream
,它通过实时传输协议(RTP)提供音频有效载荷。 为了支持音频会议等各种用途,开发了两种不同的类别。 AudioStream代表远程终端,由网络映射和配置的AudioCodec
。 另一方面,An AudioGroup
表示混合所有AudioStream并且可选地与扬声器和麦克风同时交互的本地端点。 最简单的用法包括每个端点一个。 对于其他组合,开发人员应该了解AudioGroup
描述的限制。
AudioStream在加入AudioGroup时变得繁忙。 在这种情况下,大多数setter方法都被禁用。 这旨在简化管理本地资源的任务。 人们总是可以通过调用join(AudioGroup)
和null
使AudioStream离开其AudioGroup,并在修改完成后将其放回。
使用此类需要 INTERNET
权限。
也可以看看:
Inherited constants |
---|
From class android.net.rtp.RtpStream
|
Public constructors |
|
---|---|
AudioStream(InetAddress address) 在给定的本地地址上创建一个AudioStream。 |
Public methods |
|
---|---|
AudioCodec |
getCodec() 如果未设置,则返回 |
int |
getDtmfType() 返回双音多频(DTMF)数字的RTP有效载荷类型,如果未启用,则 |
AudioGroup |
getGroup() 返回加入的 |
final boolean |
isBusy() 如果流已加入 |
void |
join(AudioGroup group) 加入 |
void |
setCodec(AudioCodec codec) 设置 |
void |
setDtmfType(int type) 设置双音多频(DTMF)数字的RTP负载类型。 |
Inherited methods |
|
---|---|
From class android.net.rtp.RtpStream
|
|
From class java.lang.Object
|
AudioStream (InetAddress address)
在给定的本地地址上创建一个AudioStream。 请注意,本地端口自动分配以符合RFC 3550。
Parameters | |
---|---|
address |
InetAddress : The network address of the local host to bind to. |
Throws | |
---|---|
SocketException |
if the address cannot be bound or a problem occurs during binding. |
AudioCodec getCodec ()
如果未设置,则返回 AudioCodec
或 null
。
Returns | |
---|---|
AudioCodec |
也可以看看:
int getDtmfType ()
返回双音多频(DTMF)数字的RTP有效载荷类型,如果未启用,则 -1
。
Returns | |
---|---|
int |
也可以看看:
void join (AudioGroup group)
加入AudioGroup
。 每个流一次只能加入一个组。 可以通过传递不同的方法来更改该组,或者通过使用null
调用此方法来删除该null
。
Parameters | |
---|---|
group |
AudioGroup : The AudioGroup to join or null to leave. |
Throws | |
---|---|
IllegalStateException |
if the stream is not properly configured. |
也可以看看:
void setCodec (AudioCodec codec)
设置 AudioCodec
。
Parameters | |
---|---|
codec |
AudioCodec : The AudioCodec to be used. |
Throws | |
---|---|
IllegalArgumentException |
if its type is used by DTMF. |
IllegalStateException |
if the stream is busy. |
void setDtmfType (int type)
设置双音多频(DTMF)数字的RTP负载类型。 主要用途是将数字发送到远程网关以执行某些任务,如第二阶段拨号。 根据RFC 2833,DTMF的RTP负载类型是动态分配的,因此它必须在96和127的范围内。可以使用-1
禁用DTMF并释放先前分配的类型。 当流已经加入AudioGroup
时,不能调用此方法。
Parameters | |
---|---|
type |
int : The RTP payload type to be used or -1 to disable it. |
Throws | |
---|---|
IllegalArgumentException |
if the type is invalid or used by codec. |
IllegalStateException |
if the stream is busy. |
也可以看看: