音频或视频轨道被终止,终止的原因可能是:
MediaStreamTrack本地轨道当前的启用状态。
媒体轨道是否正在页面上播放。
true: 媒体轨道正在页面上播放。false: 媒体轨道没有在页面上播放。本地媒体轨道当前的静音状态。
媒体轨道的类型:
"audio": 音频轨道。"video": 视频轨道。关闭本地轨道,并释放相关采集设备。
一旦本地轨道被关闭,就无法再次使用。如需再次使用本地轨道,需要重新创建。
指定一个事件名,获取当前所有监听这个事件的回调函数。
事件名称。
获取浏览器原生的 MediaStreamTrack 对象。
一个 MediaStreamTrack 对象。
DEPRECATED 自 v4.1.0 起废弃,请使用 AgoraRTCClient.getLocalVideoStats 和 AgoraRTCClient.getLocalAudioStats。
获取本地轨道相关信息。
注意事项:获取本地视频轨道数据时,iOS 上无法获取到
encodeDelay字段。
获取由 SDK 生成的对于媒体轨道来说的唯一 ID。
媒体轨道 ID。
获取本地轨道的来源描述。
可能返回以下值:
createMicrophoneAudioTrack 或 createCameraVideoTrack 创建的轨道,返回 MediaDeviceInfo.label 字段。createScreenVideoTrack 创建的轨道,返回屏幕共享的 sourceId。createCustomAudioTrack 或 createCustomVideoTrack 创建的轨道,返回 MediaStreamTrack.label 字段。取消一个指定事件的监听。
指定事件的名称。
监听事件时传入的回调函数。
监听一个指定的事件,当事件触发时会调用传入的回调函数。
当监听后事件第一次触发时,该监听和回调函数就会被立刻移除,也就是只监听一次指定事件。
指定事件的名称。
传入的回调函数。
在页面上播放媒体轨道。
指定一个 DOM 元素,SDK 将在这个元素下创建 <video> 元素播放视频轨道,支持 2 种类型:
string: 指定该 DOM 元素的 ID 值。HTMLElement: 直接传入一个 DOM 元素对象。指定一个事件,取消其所有的监听。
指定事件的名称,如果没有指定事件,则取消所有事件的所有监听。
自从
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: 恢复发送该轨道的媒体数据。停止播放。
LocalTrack为本地轨道的基础类,为音频轨道 LocalAudioTrack 和视频轨道 LocalVideoTrack 提供一些公共的方法。