AudioStream
public
class
AudioStream
extends RtpStream
java.lang.Object | ||
↳ | android.net.rtp.RtpStream | |
↳ | android.net.rtp.AudioStream |
This class was deprecated
in API level 31.
SipManager
and associated classes are no longer supported and
should not be used as the basis of future VOIP apps.
An AudioStream is a RtpStream
which carrys audio payloads over
Real-time Transport Protocol (RTP). Two different classes are developed in
order to support various usages such as audio conferencing. An AudioStream
represents a remote endpoint which consists of a network mapping and a
configured AudioCodec
. On the other side, An AudioGroup
represents a local endpoint which mixes all the AudioStreams and optionally
interacts with the speaker and the microphone at the same time. The simplest
usage includes one for each endpoints. For other combinations, developers
should be aware of the limitations described in AudioGroup
.
An AudioStream becomes busy when it joins an AudioGroup. In this case most
of the setter methods are disabled. This is designed to ease the task of
managing native resources. One can always make an AudioStream leave its
AudioGroup by calling join(android.net.rtp.AudioGroup)
with null
and put it
back after the modification is done.
Using this class requires
Manifest.permission.INTERNET
permission.
See also:
Summary
Inherited constants |
---|
Public constructors | |
---|---|
AudioStream(InetAddress address)
Creates an AudioStream on the given local address. |
Public methods | |
---|---|
AudioCodec
|
getCodec()
Returns the |
int
|
getDtmfType()
Returns the RTP payload type for dual-tone multi-frequency (DTMF) digits,
or |
AudioGroup
|
getGroup()
Returns the joined |
final
boolean
|
isBusy()
Returns |
void
|
join(AudioGroup group)
Joins an |
void
|
setCodec(AudioCodec codec)
Sets the |
void
|
setDtmfType(int type)
Sets the RTP payload type for dual-tone multi-frequency (DTMF) digits. |
Inherited methods | |
---|---|
Public constructors
AudioStream
public AudioStream (InetAddress address)
Creates an AudioStream on the given local address. Note that the local port is assigned automatically to conform with 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. |
Public methods
getCodec
public AudioCodec getCodec ()
Returns the AudioCodec
, or null
if it is not set.
Returns | |
---|---|
AudioCodec |
See also:
getDtmfType
public int getDtmfType ()
Returns the RTP payload type for dual-tone multi-frequency (DTMF) digits,
or -1
if it is not enabled.
Returns | |
---|---|
int |
See also:
getGroup
public AudioGroup getGroup ()
Returns the joined AudioGroup
.
Returns | |
---|---|
AudioGroup |
isBusy
public final boolean isBusy ()
Returns true
if the stream has already joined an
AudioGroup
.
Returns | |
---|---|
boolean |
join
public void join (AudioGroup group)
Joins an AudioGroup
. Each stream can join only one group at a
time. The group can be changed by passing a different one or removed
by calling this method with null
.
Parameters | |
---|---|
group |
AudioGroup : The AudioGroup to join or null to leave. |
Throws | |
---|---|
IllegalStateException |
if the stream is not properly configured. |
See also:
setCodec
public void setCodec (AudioCodec codec)
Sets the AudioCodec
.
Parameters | |
---|---|
codec |
AudioCodec : The AudioCodec to be used. |
Throws | |
---|---|
IllegalArgumentException |
if its type is used by DTMF. |
IllegalStateException |
if the stream is busy. |
setDtmfType
public void setDtmfType (int type)
Sets the RTP payload type for dual-tone multi-frequency (DTMF) digits.
The primary usage is to send digits to the remote gateway to perform
certain tasks, such as second-stage dialing. According to RFC 2833, the
RTP payload type for DTMF is assigned dynamically, so it must be in the
range of 96 and 127. One can use -1
to disable DTMF and free up
the previous assigned type. This method cannot be called when the stream
already joined an 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. |
See also: