本地轨道当前的启用状态。
媒体轨道是否正在页面上播放。
true
: 媒体轨道正在页面上播放。false
: 媒体轨道没有在页面上播放。本地媒体轨道当前的静音状态。
自从
4.10.0
本地音频轨道上当前媒体处理链路的最终节点。
媒体轨道的类型:
"audio"
: 音频轨道。"video"
: 视频轨道。关闭本地轨道,并释放相关采集设备。
一旦本地轨道被关闭,就无法再次使用。如需再次使用本地轨道,需要重新创建。
指定一个事件名,获取当前所有监听这个事件的回调函数。
事件名称。
获取浏览器原生的 MediaStreamTrack 对象。
一个 MediaStreamTrack 对象。
获取本地音频轨道的质量相关信息。
DEPRECATED 自 v4.1.0 起废弃,请使用 AgoraRTCClient.getLocalVideoStats 和 AgoraRTCClient.getLocalAudioStats。
获取由 SDK 生成的对于媒体轨道来说的唯一 ID。
媒体轨道 ID。
获取本地轨道的来源描述。
可能返回以下值:
createMicrophoneAudioTrack
或 createCameraVideoTrack
创建的轨道,返回 MediaDeviceInfo.label 字段。createScreenVideoTrack
创建的轨道,返回屏幕共享的 sourceId
。createCustomAudioTrack
或 createCustomVideoTrack
创建的轨道,返回 MediaStreamTrack.label 字段。获取本地音频轨道的音量等级。
音量等级值,范围 [0, 1],1 代表理论最大音量。通常该值大于 0.6 代表用户在持续说话。
取消一个指定事件的监听。
指定事件的名称。
监听事件时传入的回调函数。
监听一个指定的事件,当事件触发时会调用传入的回调函数。
当监听后事件第一次触发时,该监听和回调函数就会被立刻移除,也就是只监听一次指定事件。
指定事件的名称。
传入的回调函数。
自从
4.10.0
将 Processor
注入本地音频轨道。
Processor
实例。每个插件均有对应类型的 Processor
。
Processor
实例。
播放本地音频轨道。
播放音频时 SDK 不会创建任何 DOM 元素,所以无需像视频一样提供 DOM 元素。
指定一个事件,取消其所有的监听。
指定事件的名称,如果没有指定事件,则取消所有事件的所有监听。
设置原始音频数据(PCM)回调。
设置成功后,SDK 会不断地将本地音频轨道的音频帧以 AudioBuffer 的形式通过回调返回。
你可以通过
frameSize
来设置每次回调中音频帧的大小。该设置也会影响回调的间隔,frameSize
越大,每次回调的音频数据越多,回调间隔越长。
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);
用于接收 AudioBuffer 的回调函数。设为 null
后,SDK 就会停止获取音频原始数据。
每次回调的 AudioBuffer
中每个声道包含的采样数据个数,只能设为下列值:256, 512, 1024, 2048, 4096, 8192, 16384。默认为 4096。
设置负责采集音频数据的麦克风设备。
在发布前和发布后均可调用此方法。
指定设备的设备 Id,可以通过 AgoraRTC.getMicrophones 获取。
自从
4.0.0
启用/禁用该轨道。
轨道禁用后,播放和发布都将被停止。
- 禁用轨道不会触发 LocalTrack.on("track-ended") 事件。
- 如果该轨道已发布,禁用轨道后,远端会触发 user-unpublished 事件。重新启用后,远端会触发 user-published 事件。
setEnabled
和setMuted
不能同时调用。
是否启用该轨道:
true
: 启用该轨道.false
: 禁用该轨道.发送或暂停发送该轨道的媒体数据。
自从
4.6.0
如果该轨道已发布,调用 setMuted(true)
后,远端会触发 user-unpublished 事件。再调用 setMuted(false)
后,远端会触发 user-published 事件。
- 与 setEnabled 相比,调用该方法响应速度更快且不影响视频采集状态,详见 setEnabled 和 setMuted 有什么区别?。
setEnabled
和setMuted
不能同时调用。
是否发送该轨道的媒体数据:
true
: 暂停发送该轨道的媒体数据。false
: 恢复发送该轨道的媒体数据。自从
4.1.0
注意事项:
- 自 v4.7.0 起,该方法不再生效。请改用 IRemoteAudioTrack.setPlaybackDevice。
- 该方法只支持桌面端的 Chrome 浏览器,其他浏览器调用将会抛出
NOT_SUPPORTED
错误。
设置本地播放远端音频流的设备(扬声器)。
设备 ID,可以通过 getPlaybackDevices 方法获取。
设置本地音频轨道的音量。
音量值,范围 [0, 1000], 0 代表静音,100 代表原始音量。100 以上会使用 WebAudio 进行音量增益。如果本地音频轨道已经发布,修改音量会影响远端听到的音量大小。
停止播放。
自从
4.10.0
取消本地音频轨道上注入的 Processor
。
本地麦克风音频轨道,继承于 LocalAudioTrack,在此之上提供了更换采集设备的功能。
可以通过 AgoraRTC.createMicrophoneAudioTrack 来获取。