# GameRecorder

游戏画面录制对象

# 方法

# GameRecorder.start()

开始录制游戏画面

# Promise GameRecorder.stop()

结束录制游戏画面。结束录制后可以发起分享。

# Promise GameRecorder.pause()

暂停录制游戏画面。

# Promise GameRecorder.resume()

恢复录制游戏画面。

# Promise GameRecorder.abort()

放弃录制游戏画面。此时已经录制的内容会被丢弃。

# GameRecorder.on(string event, function callback)

注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行。

# GameRecorder.off(string event, function callback)

取消监听录制事件。当对应事件触发时,该回调函数不再执行。

# GameRecorder.publishVideo(Object object)

发布录屏到快手

# 错误

错误码 错误信息 说明
ks.error.GameRecorder_UnknownError unknown error 未知错误,没有被归纳到的错误
ks.error.GameRecorder_InternalFailed internal failed 游戏画面录制 SDK 内部错误
ks.error.GameRecorder_NotSupported frame not supported 当前设备不支持录制游戏画面
ks.error.GameRecorder_StartWhileAlreadyStartRecording start while already start recording 在已经开始录制的情况下调用 start
ks.error.GameRecorder_StartWhilePaused start while already paused 在已经暂停录制的情况下调用 start,此时只能调用 resume 恢复录制
ks.error.GameRecorder_PauseWhileNotStartRecording pause while not start recording 在还没有开始录制的情况下调用 pause
ks.error.GameRecorder_PauseWhileAlreadyPaused pause while already paused 在已经暂停录制的情况下调用 pause
ks.error.GameRecorder_ResumeWhileNotStartRecording resume while not start recording 在还没有开始录制的情况下调用 resume
ks.error.GameRecorder_ResumeWhileRecording resume while recording 在录制中调用 resume,调用 resume 只能在暂停状态下
ks.error.GameRecorder_AbortWhileNotStartRecording abort while not start recording 在还没有开始录制的情况下调用 abort
ks.error.GameRecorder_StopWhileNotStartRecording stop while not start recording 在还没有开始录制的情况下调用 stop
ks.error.GameRecorder_RecordFailedTimeRangeTooShort record time range too short 录制结束,录制时间太短
ks.error.GameRecorder_RecordFailedTimeRangeTooLong record time range too long 录制结束,录制时间太长
ks.error.GameRecorder_RecordFailedNoVideo no video to publish video 录制结束,未录制到视频
ks.error.GameRecorder_PublishVideoFailed fail to publish video 统一的发布录屏失败

# 错误码的使用方法


// 可以监听 error 事件
const recorder = ks.getGameRecorder()
recorder.on('error', res => {
  const error = res.error
  if (error.code === ks.error.GameRecorder_StartWhileAlreadyStartRecording) {

  }
})

// 也可以在接口的 Promise 中获取
recorder.stop()
.catch(res => {
  if (res.error.code === ks.error.GameRecorder_StopWhileNotStartRecording) {

  }
})