Whether a media track is playing on the webpage:
true
: The media track is playing on the webpage.false
: The media track is not playing on the webpage.The type of a media track:
"audio"
: Audio track."video"
: Video track.Gets all the listeners for a specified event.
The event name.
Gets an MediaStreamTrack object.
An MediaStreamTrack object.
Gets the RTCRtpTransceiver instance of the current track.
This method is currently mainly used for end-to-end encryption of video streams (Beta).
If the SDK experiences a reconnection, the
RTCRtpTransceiver
instance corresponding to the current track might change. You can obtain the newRTCRtpTransceiver
instance through the following callbacks:
- For a local track: ILocalTrack.transceiver-updated
- For a remote track: IRemoteTrack.transceiver-updated
The type of the video stream. See StreamType.
The RTCRtpTransceiver instance of the current track.
Gets the statistics of a remote audio track.
An RemoteAudioTrackStats object.
Gets the ID of a media track, a unique identifier generated by the SDK.
The media track ID.
Gets the uid
of the remote user who publishes the remote track.
The uid
of the remote user.
Gets the audio level of a remote audio track.
The audio level. The value range is [0,1]. 1 is the highest audio level. Usually a user with audio level above 0.6 is a speaking user.
Removes the listener for a specified event.
The event name.
The callback that corresponds to the event listener.
The event name.
See track-updated.
The event name.
See first-frame-decoded.
Adds an event listener.
The event name.
Listens for a specified event once.
When the specified event happens, the SDK triggers the callback that you pass and then removes the listener.
The event name.
The callback to trigger.
The Processor
instance. Each extension has a corresponding type of Processor
.
The Processor
instance.
Plays a remote audio track.
When playing the audio track, you do not need to pass any DOM element.
Removes all listeners for a specified event.
The event name. If left empty, all listeners for all events are removed.
Sets the callback for getting raw audio data in PCM format.
After you successfully set the callback, the SDK constantly returns the audio frames of a remote audio track in this callback by using AudioBuffer.
You can set the
frameSize
parameter to determine the frame size in each callback, which affects the interval between the callbacks. The larger the frame size, the longer the interval between them.
track.setAudioFrameCallback((buffer) => {
for (let channel = 0; channel < buffer.numberOfChannels; channel += 1) {
// Float32Array with PCM data
const currentChannelData = buffer.getChannelData(channel);
console.log("PCM data in channel", channel, currentChannelData);
}
}, 2048);
// ....
// Stop getting the raw audio data
track.setAudioFrameCallback(null);
The callback function for receiving the AudioBuffer object. If you set audioBufferCallback
as null
, the SDK stops getting raw audio data.
The number of samples of each audio channel that an AudioBuffer
object contains. You can set frameSize
as 256, 512, 1024, 2048, 4096, 8192, or 16384. The default value is 4096.
Device ID, which can be retrieved by calling getPlaybackDevices.
Sets the volume of a remote audio track.
The volume. The value ranges from 0 (mute) to 100 (maximum). A value of 100 is the current volume.
Stops playing the media track.
RemoteAudioTrack
is the basic interface for the remote audio track.You can get create a remote audio track by the AgoraRTCRemoteUser.audioTrack object after calling subscribe.