GameRecorder

基础库 2.8.0 开始支持,低版本需做兼容处理

游戏画面录制对象

方法

boolean GameRecorder.isFrameSupported()

获取是否支持录制游戏画面

boolean GameRecorder.isSoundSupported()

获取是否在录制游戏画面的同时支持录制游戏音频的信息

GameRecorder.start(Object object)

开始录制游戏画面

Promise GameRecorder.stop()

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

Promise GameRecorder.pause()

暂停录制游戏画面。

Promise GameRecorder.resume()

恢复录制游戏画面。

Promise GameRecorder.abort()

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

GameRecorder.on(string event, function callback)

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

GameRecorder.off(string event, function callback)

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

错误

错误码错误信息说明
wx.error.GameRecorder_UnknownErrorunknown error未知错误,没有被归纳到的错误
wx.error.GameRecorder_InternalFailedinternal failed游戏画面录制 SDK 内部错误
wx.error.GameRecorder_NotSupportedframe not supported当前设备不支持录制游戏画面
wx.error.GameRecorder_StartDurationInvalidduration invalidduration 参数不合法
wx.error.GameRecorder_StartBitRateInvalidbitrate invalidbitrate 参数不合法
wx.error.GameRecorder_StartFPSInvalidfps invalidfps 参数不合法
wx.error.GameRecorder_StartGOPInvalidgop invalidgop 参数不合法
wx.error.GameRecorder_StartWhileAlreadyStartRecordingstart while already start recording在已经开始录制的情况下调用 start
wx.error.GameRecorder_StartWhilePausedstart while already paused在已经暂停录制的情况下调用 start,此时只能调用 resume 恢复录制
wx.error.GameRecorder_PauseWhileNotStartRecordingpause while not start recording在还没有开始录制的情况下调用 pause
wx.error.GameRecorder_PauseWhileAlreadyPausedpause while already paused在已经暂停录制的情况下调用 pause
wx.error.GameRecorder_ResumeWhileNotStartRecordingresume while not start recording在还没有开始录制的情况下调用 resume
wx.error.GameRecorder_ResumeWhileRecordingresume while recording在录制中调用 resume,调用 resume 只能在暂停状态下
wx.error.GameRecorder_AbortWhileNotStartRecordingabort while not start recording在还没有开始录制的情况下调用 abort
wx.error.GameRecorder_StopWhileNotStartRecordingstop while not start recording在还没有开始录制的情况下调用 stop
wx.error.GameRecorder_NoVideono recorded video在还没有一个录制好的对局回放的情况下发起分享
wx.error.GameRecorder_BGMNotFoundbgm not foundshare.bgm 指定的额背景音乐不存在
wx.error.GameRecorder_TimeRangeInvalidtime range invalidshare.timeRange 不合法
wx.error.GameRecorder_EditDurationOutOfLimitduration out of limitshare.timeRange 的所有片段的总和超出上限
wx.error.GameRecorder_TimeRangeTooShorttime range too short.It should be longer than 2sshare.timeRange 太短

错误码的使用方法

  1. // 可以监听 error 事件
  2. const recorder = wx.getGameRecorder()
  3. recorder.on('error', res => {
  4. const error = res.error
  5. if (error.code === wx.error.GameRecorder_StartWhileAlreadyStartRecording) {
  6. }
  7. })
  8. // 也可以在接口的 Promise 中获取
  9. recorder.stop()
  10. .catch(res => {
  11. if (res.error.code === wx.error.GameRecorder_StopWhileNotStartRecording) {
  12. }
  13. })