UNPKG

3.18 kBTypeScriptView Raw
1import Taro from '../../index'
2
3declare module '../../index' {
4 interface MediaRecorder {
5 /** 销毁录制器
6 * @supported weapp
7 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/MediaRecorder.destroy.html
8 */
9 destroy(): Promise<void>
10 /** 取消监听录制事件
11 * @supported weapp
12 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/MediaRecorder.off.html
13 */
14 off(
15 /** 事件名 */
16 eventName: keyof MediaRecorder.on.EventName,
17 /** 事件触发时执行的回调函数 */
18 callback: MediaRecorder.on.Callback
19 ): Promise<void>
20 /** 注册监听录制事件的回调函数
21 * @supported weapp
22 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/MediaRecorder.on.html
23 */
24 on(
25 /** 事件名 */
26 eventName: keyof MediaRecorder.on.EventName,
27 /** 事件触发时执行的回调函数 */
28 callback: MediaRecorder.on.Callback
29 ): Promise<void>
30 /** 暂停录制
31 * @supported weapp
32 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/MediaRecorder.pause.html
33 */
34 pause(): Promise<void>
35 /** 请求下一帧录制,在 callback 里完成一帧渲染后开始录制当前帧
36 * @supported weapp
37 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/MediaRecorder.requestFrame.html
38 */
39 requestFrame(callback: MediaRecorder.requestFrame.Callback): Promise<void>
40 /** 恢复录制
41 * @supported weapp
42 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/MediaRecorder.resume.html
43 */
44 resume(): Promise<void>
45 /** 开始录制
46 * @supported weapp
47 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/MediaRecorder.start.html
48 */
49 start(): Promise<void>
50 /** 结束录制
51 * @supported weapp
52 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/MediaRecorder.stop.html
53 */
54 stop(): Promise<void>
55 }
56
57 namespace MediaRecorder {
58 namespace on {
59 /** eventName 的合法值 */
60 interface EventName {
61 /** 录制开始事件。 */
62 start
63 /** 录制结束事件。返回 {tempFilePath, duration, fileSize} */
64 stop
65 /** 录制暂停事件。 */
66 pause
67 /** 录制继续事件。 */
68 resume
69 /** 录制时间更新事件。 */
70 timeupdate
71 }
72 /** 事件触发时执行的回调函数 */
73 type Callback = (res?: {
74 tempFilePath: string
75 duration: number
76 fileSize: number
77 }) => void
78 }
79 namespace requestFrame {
80 /** 事件触发时执行的回调函数 */
81 type Callback = () => void
82 }
83 }
84
85 interface TaroStatic {
86 /** 创建 WebGL 画面录制器,可逐帧录制在 WebGL 上渲染的画面并导出视频文件
87 * @supported weapp
88 * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html
89 */
90 createMediaRecorder(): MediaRecorder
91 }
92}