V2LivePusher

V2LivePusher

腾讯云直播推流器

Constructor

new V2LivePusher()

Example
// 创建/销毁 V2LivePusher 对象,以及回调事件监听。

import { V2LivePusher } from 'trtc-electron-sdk';
const livePusher = V2LivePusher.createV2LivePusher(V2LiveMode.V2LiveModeRTMP);

subscribeEvents = (livePusher) => {
 livePusher.on('onError', (errcode, errmsg) => {
     console.info('livePusher_demo: onError :' + errcode + " msg" + errmsg);
 });
};

V2LivePusher.releaseV2LivePusher(livePusher);

Methods

(static) createV2LivePusher(mode) → {V2LivePusher}

创建 V2LivePusher 实例

Parameters:
Name Type Description
mode V2LiveMode required

推流模式,参考 V2LiveMode 的定义。

Returns:
  • 推流器实例
Type
V2LivePusher

(static) releaseV2LivePusher(v2livepusher)

析构 V2LivePusher 对象

Parameters:
Name Type Description
v2livepusher V2LivePusher required

推流器实例

on(event, listener)

监听 LivePusher 对象事件。

Parameters:
Name Type Description
event V2LivePusherEvent required

事件名称。

listener function required

事件回调函数。

off(event, listener)

取消监听 LivePusher 对象事件。

Parameters:
Name Type Description
event V2LivePusherEvent required

事件名称。

listener function required

事件回调函数。

setRenderView(view)

设置本地摄像头预览 View, 本地摄像头采集到的画面,最终会显示到传入的 View 上。

Parameters:
Name Type Description
view HTMLElement | null required

本地摄像头预览 View。

setRenderMirror(mirrorType) → {Number}

设置本地摄像头预览镜像

Parameters:
Name Type Description
mirrorType V2LiveMirrorType required

摄像头镜像类型, 默认值为 V2LiveMirrorTypeAuto。 V2LiveMirrorTypeEnable 前置摄像头 和 后置摄像头,都切换为镜像模式。 V2LiveMirrorTypeDisable 前置摄像头 和 后置摄像头,都切换为非镜像模式。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

setEncoderMirror(mirror) → {Number}

设置视频编码镜像,默认不开启。 编码镜像只影响观众端看到的视频效果

Parameters:
Name Type Description
mirror Boolean required

是否镜像。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

setRenderRotation(rotation) → {Number}

设置本地摄像头预览画面的旋转角度, 默认不旋转。 只旋转本地预览画面,不影响推流出去的画面

Parameters:
Name Type Description
rotation V2LiveRotation required

预览画面的旋转角度, 参考 V2LiveRotation 的定义。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

setRenderFillMode(mode) → {Number}

设置本地摄像头预览画面的填充模式

Parameters:
Name Type Description
mode V2LiveFillMode required

画面填充模式,参考 V2LiveFillMode 的定义。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

startCamera(cameraId) → {Number}

打开本地摄像头

Parameters:
Name Type Description
cameraId String required

摄像头ID,可通过 getCameraDevicesList 获取。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

stopCamera() → {Number}

关闭本地摄像头

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

startMicrophone() → {Number}

打开麦克风

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

stopMicrophone() → {Number}

关闭麦克风

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

pauseAudio() → {Number}

暂停推流器的音频流

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

resumeAudio() → {Number}

恢复推流器的音频流

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

pauseVideo() → {Number}

暂停推流器的视频流

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

resumeVideo() → {Number}

恢复推流器的视频流

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

startPush(url) → {Number}

开始音视频数据推流

Parameters:
Name Type Description
url String required

推流的目标地址,支持任意推流服务端。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

stopPush() → {Number}

停止推送音视频数据

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

isPushing() → {Number}

当前推流器是否正在推流中

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

setAudioQuality(quality) → {Number}

设置推流音频质量

Parameters:
Name Type Description
quality V2LiveAudioQuality required

音频质量,参考 V2LiveAudioQuality 的定义。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

setVideoQuality(param) → {Number}

设置推流视频编码参数

Parameters:
Name Type Description
param V2LiveVideoEncoderParam required

视频编码参数,参考 V2LiveVideoEncoderParam 的定义。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

enableVolumeEvaluation(intervalMs) → {Number}

启用采集音量大小提示

Parameters:
Name Type Description
intervalMs Number required

决定了 onMicrophoneVolumeUpdate 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms;【默认值】:0,不开启。

Returns:
  • 参考 V2LiveCode 的定义
Type
Number

getCameraDevicesList() → {Array.<TRTCDeviceInfo>}

获取摄像头设备列表

Example
var cameralist = livePusher.getCameraDevicesList();
for (i=0;i<cameralist.length;i++) {
   var camera = cameralist[i];
   console.info("camera deviceName: " + camera.deviceName + " deviceId:" + camera.deviceId);
}
Returns:

摄像头管理器列表

Type
Array.<TRTCDeviceInfo>

setCurrentCameraDevice(deviceId)

设置要使用的摄像头

Parameters:
Name Type Description
deviceId String required

从 getCameraDevicesList 中得到的设备 ID

getCurrentCameraDevice() → {TRTCDeviceInfo}

获取当前使用的摄像头

Returns:

设备信息,能获取设备 ID 和设备名称

Type
TRTCDeviceInfo

startCameraDeviceTest(view)

开始摄像头测试

Parameters:
Name Type Description
view HTMLElement required

摄像头测试的显示区域

stopCameraDeviceTest()

停止摄像头测试

getMicDevicesList() → {Array.<TRTCDeviceInfo>}

获取麦克风设备列表

Example
var miclist = livePusher.getMicDevicesList();
  for (i=0;i<miclist.length;i++) {
    var mic = miclist[i];
    console.info("mic deviceName: " + mic.deviceName + " deviceId:" + mic.deviceId);
  }
Returns:

麦克风管理器列表

Type
Array.<TRTCDeviceInfo>

getCurrentMicDevice() → {TRTCDeviceInfo}

获取当前选择的麦克风

Returns:

设备信息,能获取设备 ID 和设备名称

Type
TRTCDeviceInfo

setCurrentMicDevice(micId)

设置要使用的麦克风

选择指定的麦克风作为录音设备,不调用该接口时,默认选择索引为0的麦克风

Parameters:
Name Type Description
micId String required

从 getMicDevicesList 中得到的设备 ID

getCurrentMicDeviceVolume() → {Number}

获取系统当前麦克风设备音量

注意:查询的是系统硬件音量大小。

Returns:

音量值,范围是0 - 100

Type
Number

setCurrentMicDeviceVolume(volume)

设置系统当前麦克风设备的音量

注意:该接口的功能是调节系统采集音量,如果用户直接调节系统设置的采集音量时,该接口的设置结果会被用户的操作所覆盖。

Parameters:
Name Type Description
volume Number required

麦克风音量值,范围0 - 100

setCurrentMicDeviceMute(mute)

设置系统当前麦克风设备的静音状态

Parameters:
Name Type Description
mute Boolean required

设置为 true 时,麦克风设备静音;设置为 false时,麦克风设备取消静音

getCurrentMicDeviceMute() → {Boolean}

获取系统当前麦克风设备是否静音

Returns:

静音状态

Type
Boolean

getSpeakerDevicesList() → {Array.<TRTCDeviceInfo>}

获取扬声器设备列表

Example
var speakerlist = livePusher.getSpeakerDevicesList();
  for (i=0;i<speakerlist.length;i++) {
    var speaker = speakerlist[i];
    console.info("mic deviceName: " + speaker.deviceName + " deviceId:" + speaker.deviceId);
  }
Returns:

扬声器管理器列表

Type
Array.<TRTCDeviceInfo>

getCurrentSpeakerDevice() → {TRTCDeviceInfo}

获取当前的扬声器设备

Returns:

设备信息,能获取设备 ID 和设备名称

Type
TRTCDeviceInfo

setCurrentSpeakerDevice(speakerId)

设置要使用的扬声器

Parameters:
Name Type Description
speakerId String required

从 getSpeakerDevicesList 中得到的设备 ID

getCurrentSpeakerVolume() → {Number}

获取系统当前扬声器设备音量

Returns:

扬声器音量,范围0 - 100

Type
Number

setCurrentSpeakerVolume(volume)

设置系统当前扬声器设备音量

注意:该接口的功能是调节系统播放音量,如果用户直接调节系统设置的播放音量时,该接口的设置结果会被用户的操作所覆盖。

Parameters:
Name Type Description
volume Number required

设置的扬声器音量,范围0 - 100

setCurrentSpeakerDeviceMute(mute)

设置系统当前扬声器设备的静音状态

Parameters:
Name Type Description
mute Boolean required

设置为 true 时,扬声器设备静音;设置为 false时,扬声器设备取消静音

getCurrentSpeakerDeviceMute() → {Boolean}

获取系统当前扬声器设备是否静音

Returns:

静音状态

Type
Boolean

enableFollowingDefaultAudioDevice(deviceType, enable)

设置 SDK 使用的音频设备自动跟随系统默认设备

仅支持设置麦克风和扬声器类型,摄像头暂不支持跟随系统默认设备

Parameters:
Name Type Description
deviceType TRTCDeviceType required

设备类型,只支持麦克风和扬声器,摄像头不支持

enable Boolean required

是否跟随系统默认的音频设备

  • true: 跟随。当系统默认音频设备发生改变时,SDK 立即切换音频设备。
  • false: 不跟随。只有当 SDK 使用的音频设备被移除后或插入新的音频设备为系统默认设备时,SDK 才切换至系统默认的音频设备。