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.
4.10.0
The destination of the current processing pipeline on the local audio track.
The type of a media track:
"audio"
: Audio track."video"
: Video track.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]event_transceiver_updated
- For a remote track: [IRemoteTrack.transceiver-updated]event_transceiver_updated_2
Optional
type: StreamTypeThe type of the video stream. See StreamType.
The RTCRtpTransceiver instance of the current track.
Gets the statistics of a local audio track.
from v4.1.0. Use [AgoraRTCClient.getLocalVideoStats]IAgoraRTCClient.getLocalVideoStats and [AgoraRTCClient.getLocalAudioStats]IAgoraRTCClient.getLocalAudioStats instead.
Gets the label of a local track.
The label that the SDK returns may include:
createMicrophoneAudioTrack
or createCameraVideoTrack
.sourceId
property, if the track is created by calling createScreenVideoTrack
.createCustomAudioTrack
or createCustomVideoTrack
.The event name.
See [track-updated]event_track_updated.
Triggers when a media track is updated.
The media stream track. See MediaStreamTrack.
Events
The event name.
See [track-ended]event_track_ended.
Occurs when a audio or video track ends.
Reasons may include:
MediaStreamTrack
.ILocalTrack
Events
Adds an event listener.
The event name.
See [ILocalTrack.transceiver-updated]event_transceiver_updated.
Occurs when the RTCRtpTransceiver
instance of the current track is updated.
The new RTCRtpTransceiver
instance.
Optional
type: StreamTypeThe type of the video stream to which the current track belongs. See StreamType.
ILocalTrack
Events
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 local 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.
Optional
frameSize: numberThe 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.
Sets the device for sampling audio.
You can call the method either before or after publishing an audio track.
The ID of the specified device. You can get the deviceId
by calling [AgoraRTC.getMicrophones]IAgoraRTC.getMicrophones.
Whether to enable the track:
true
: Enable the track.false
: Disable the track.
4.0.0
Enables/Disables the track.
After a track is disabled, the SDK stops playing and publishing the track.
- Disabling a track does not trigger the [LocalTrack.on("track-ended")]event_track_ended event.
- If a track is published, disabling this track triggers the [user-unpublished]IAgoraRTCClient.event_user_unpublished event on the remote client, and re-enabling this track triggers the [user-published]IAgoraRTCClient.event_user_published event.
- Do not call
setEnabled
andsetMuted
together.
Sends or stops sending the media data of the track.
Whether to stop sending the media data of the track:
true
: Stop sending the media data of the track.false
: Resume sending the media data of the track.
4.6.0
If the track is published, a successful call of setMuted(true)
triggers the [user-unpublished]IAgoraRTCClient.event_user_unpublished event on the remote client, and a successful call of setMuted(false)
triggers the [user-published]IAgoraRTCClient.event_user_published event.
- Calling
setMuted(true)
does not stop capturing audio or video and takes shorter time to take effect than [[setEnabled]]. For details, see What are the differences between setEnabled and setMuted?.- Do not call
setEnabled
andsetMuted
together.
The device ID, which can be retrieved by calling [[getPlaybackDevices]].
4.1.0
Note:
- As of v4.7.0, this method no longer takes effect. Use [IRemoteAudioTrack.setPlaybackDevice]IRemoteAudioTrack.setPlaybackDevice instead.
Sets the playback device (speaker) for the remote audio stream.
Sets the volume of a local audio track.
The volume. The value ranges from 0 (mute) to 1000 (maximum). A value of 100 is the original volume。 The volume change may not be obvious to human ear. If local track has been published, setting volume will affect the volume heard by remote users.
Inherited from [LocalAudioTrack]ILocalAudioTrack,
MicrophoneAudioTrack
is an interface for the audio sampled by a local microphone and adds several functions such as switching devices.You can create a local microphone audio track by calling [AgoraRTC.createMicrophoneAudioTrack]IAgoraRTC.createMicrophoneAudioTrack.