RTCRtpReceiver: getSynchronizationSources() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

getSynchronizationSources() 方法是 RTCRtpReceiver 接口的一部分,它返回一个对象数组,每个对象对应于当前 RTCRtpReceiver 在过去十秒钟内接收到的一个 SSRC(同步源)标识符。

语法

js
getSynchronizationSources()

参数

无。

返回值

一个对象数组,每个对象描述了在过去十秒钟内为传入流提供数据的同步源之一。这些对象包含以下属性:

audioLevel

一个介于 0.0 和 1.0 之间的浮点数值,指定从同步源播放的最后一个 RTP 数据包中包含的音频级别。

该值采用线性标度,单位为 dBov(分贝过载)。这是相对于音频开始出现削波的点的幅度。值为 1.0 表示 0 dBov(最大音量),值为 0.0 表示静音,值为 0.5 表示声音压力级(SPL)相比 0 dBov 变化约 6 dB SPL。

此值是必需的,并且始终存在。

rtpTimestamp 可选

媒体的 RTP 时间戳(一个整数 DOMHighResTimeStamp)。这个源生成的时戳指示了此数据包中媒体(计划在 timestamp 指定的时间播放)最初采样或生成的时间。它可能有助于排序和同步。

source 可选

一个正整数值,指定同步源的 SSRC 标识符。这唯一地标识了特定流 RTP 数据包的源。

timestamp 可选

一个 DOMHighResTimeStamp,指示源生成的帧被交付到接收器的 MediaStreamTrack 的最近时间。

规范

规范
WebRTC:浏览器中的实时通信
# dom-rtcrtpreceiver-getsynchronizationsources

浏览器兼容性