You need to enable JavaScript to run this app.
文档中心
云手机

云手机

复制全文
下载 pdf
Web H5 SDK
API 详情
复制全文
下载 pdf
API 详情

vePhoneSDK

类型:class

isSupported

兼容性检测,判断浏览器是否支持从云机拉流。

  • 类型

    () => Promise<boolean>
    
  • 示例

    await vePhoneSDK.isSupported()
    

new vePhoneSDK()

实例化方法,通过 new vePhoneSDK(config) 调用

  • 类型

    constructor(options: CloudCoreConfig)
    
  • 参数

  • 示例

    let config = {"userId":"your_user_id",...};
    let vePlayer = new vePhoneSDK(config);
    

start

启动云手机服务
启动云手机,需要在初始化成功之后调用。请确认云手机业务 ID 等信息正确。

  • 类型

    (options: CoreStartConfig) => Promise<{ width: number; height: number; }>
    
  • 参数

  • 返回值
    类型:Promise<{ width: number; height: number; }>

    • width 云机实例的宽度
    • height 云机实例的高度
  • 示例

    vePhone.start(options).then((info) => {
      console.log('start successfully',info)
    }).catch((error) => {
      console.error('start failed', error)
    });
    
    
  • 参考

stop

停止云手机服务
停止从云机拉流,并且退出,但不会回收客户端本地资源。

  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<void>

destroy

销毁实例
销毁客户端实例,释放资源。

  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<void>

pause

暂停拉取音视频流

  • 类型
    () => void
    

resume

恢复已经暂停的音视频流

  • 类型
    () => void
    

playByInteraction

自动播放失败的情况下,提示和引导用户与页面进行交互来恢复播放

  • 类型

    (reload?: boolean) => Promise<void>
    
  • 参数

    • reload
      类型:boolean
      默认值:false
  • 返回值
    类型:Promise<void>

  • 示例
    当检测到自动播放失败的报错后,在页面上动态显示一个按钮让用户点击:

    vePlayer.start(options).then(() => {
      console.log('start successfully')
    }).catch((e) => {
      if (e.errorCode === 10008) {
         // 弹出引导用户点击继续的 UI 界面提示
         showBtnUI();
      }
    });
    btn.onclick = () => {
      vePlayer.playByInteraction();
    };
    

setVideoStreamProfileId

清晰度切换
在云手机运行过程中,通过指定清晰度档位 ID,切换视频流的清晰度。

  • 类型

    (id: number) => any
    
  • 参数

  • 返回值
    类型:any

sendMessage

客户端发送消息到云机实例。

  • 类型

    ({ message, needAck, timeout, destUserId, }: { message: ArrayBuffer | string; needAck?: boolean; timeout?: number; destUserId?: string;}) => Promise<number>
    
  • 参数

    • params
      类型:{ message: ArrayBuffer | string; needAck?: boolean | undefined; timeout?: number | undefined; destUserId?: string | undefined; }
      入参格式JSON
      • 成员

        名称

        类型

        描述

        message

        string | ArrayBuffer

        消息内容

        needAck

        boolean | undefined

        发送的消息否需要应答

        timeout

        number | undefined

        应答消息的超时时间,单位 ms

        destUserId

        string | undefined

        云机应用初始化 veMessageChannelClient 时填入的目标用户 ID(如果 Message Channel 连接通道超过1条,必须指定 destUserId)
        有关 Message Channel SDK 的使用方法,参考Message Channel SDK 接入说明

  • 返回值
    类型:Promise<number> 分别返回发送「成功/失败」的状态

  • 示例

    vePhone.sendMessage({
     message: 'message',
     needAck: true,
     timeout: 5 * 1000,
     destUserId: 'appname'
    })
    

sendClipBoardMessage

发送客户端本地剪贴板消息到云机。

  • 类型

    (text: string) => Promise<void>
    
  • 参数

    • text
      类型:string
  • 返回值
    类型:Promise<void>

launchApp

启动云机应用

  • 类型

    (id: string) => void
    
  • 参数

    • id
      类型:string
      启动的应用包名,也可传入应用 ID

setRemoteAppForeground

云机应用切换到前台

  • 类型

    (packageName?: string) => Promise<void>
    
  • 参数

    • packageName
      类型:string | undefined
      应用包名
  • 返回值
    类型:Promise<void>

closeApp

关闭云机应用

  • 类型

    (id: string) => void
    
  • 参数

    • id
      类型:string
      关闭的应用包名,也可传入应用 ID

getRemoteBackgroundAppList

获取已切换到后台的云机应用列表

  • 类型

    () => Promise<string[]>
    
  • 返回值
    类型:Promise<string[]>

  • 示例

    vePlayer.getRemoteBackgroundAppList();
    

setAudioMute

关闭/开启播放声音
在调用 start() 接口之后才可调用。

  • 类型

    (mute: boolean) => void
    
  • 参数

    • mute
      类型:boolean
      是否静音,默认为false,不静音

muteAudio

媒体流静音开关
媒体流静音开关,在调用 start() 接口之后才可调用。

  • 类型

    (mute: boolean) => void
    
  • 参数

    • mute
      类型:boolean
      是否静音,默认为false,不静音

isAudioMuted

检查媒体流静音状态

  • 类型

    () => boolean
    
  • 返回值
    类型:boolean

    • true 静音
    • false 不静音

muteVideo

媒体流视频开关

  • 类型

    (mute: boolean) => void
    
  • 参数

    • mute
      类型:boolean
      是否停止播放视频流,默认为false,播放

isVideoMuted

检查媒体流视频播放状态
检查当前视频流是否处在停止播放状态。

  • 类型

    () => boolean
    
  • 返回值
    类型:boolean

    • true 停止
    • false 播放

getLocalAudioPlaybackVolume

获取客户端本地播放音量

  • 类型

    () => number
    
  • 返回值
    类型:number 音量大小

setLocalAudioPlaybackVolume

设置客户端本地播放音量

  • 类型

    (volume: number) => void
    
  • 参数

    • volume
      类型:number
      音量大小,范围 [0,1]
  • 返回值
    -调节成功返回0,调节失败返回-1

volumeUp

调高音量

  • 类型

    () => void
    
  • 返回值
    void

volumeDown

调低音量

  • 类型

    () => void
    
  • 返回值
    void

getAudioPlaybackDeviceList

获取音频播放设备列表

  • 类型

    () => Promise<MediaDeviceInfo[]>
    
  • 返回值
    类型:Promise<MediaDeviceInfo[]>

  • 参考

getAudioPlaybackDevice

获取当前音频播放设备

getAudioCaptureDeviceList

获取音频采集设备列表

  • 类型

    () => Promise<MediaDeviceInfo[]>
    
  • 返回值
    类型:Promise<MediaDeviceInfo[]>

  • 参考

getAudioCaptureDevice

获取当前音频采集设备

setAudioPlaybackDevice

设置音频播放设备

  • 类型

    (deviceId: string) => void
    
  • 参数

    • deviceId
      类型:string
      设备Id

setAudioCaptureDevice

设置音频采集设备

  • 类型

    (deviceId: string) => Promise<void>
    
  • 参数

    • deviceId
    • 类型:string
    • 设备Id

startSendAudioStream

采集并发送音频数据
开启采集麦克风音频数据后发送给云机实例。注意: 需要开启麦克风使用权限。

  • 类型

    () => Promise<{ success: boolean; }>
    
  • 返回值
    类型:Promise<{ success: boolean; }>

    • true 采集成功
    • false 采集失败

stopSendAudioStream

关闭音频数据发送
关闭音频数据发送,并且不进行音频采集。

  • 类型
    () => void
    

startVideoStream

开启视频采集
获取本地摄像头权限后,采集并发送摄像头视频数据。

  • 类型

    () => Promise<{ success: boolean; }>
    
  • 返回值
    类型:Promise<{ success: boolean; }>

    • true 采集成功
    • false 采集失败

getVideoPlaybackDeviceList

设置视频采集设备列表

  • 类型

    () => Promise<MediaDeviceInfo[]>
    
  • 返回值
    类型:Promise<MediaDeviceInfo[]>

getVideoCaptureDevice

获取当前视频采集设备信息

  • 类型

    () => string
    
  • 返回值
    类型:string

switchCamera

设置视频采集设备

  • 类型

    (deviceId: string) => Promise<void>
    
  • 参数

    • deviceId
      类型:string
  • 返回值
    类型:Promise<void>

  • 参考

stopVideoStream

停止视频采集
关闭视频数据发送,并且不进行视频采集。

  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<number>

    • 0 停止采集成功
    • -1 停止采集失败

setLocalVideoView

设置本地视频画面布局

  • 类型

    (options: { streamIndex: number; videoPlayerOption: Partial<VideoPlayerOption>;}) => HTMLVideoElement | undefined
    
  • 参数

    • options
      类型:{ streamIndex: number; videoPlayerOption: VideoPlayerOption; }
      可选枚举值及说明如下:
      • 成员

        名称

        类型

        描述

        streamIndex

        number

        可选枚举值及说明如下:
        1:RENDER_MODE_HIDDEN(默认,视窗填满优先;缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长)
        2:RENDER_MODE_FIT(视频帧内容全部显示优先;缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长)
        3:RENDER_MODE_Fill(视频帧自适应画布;视频帧非等比缩放,直至画布被填满。在此过程中,视频帧的长宽比例可能会发生变化)

        videoPlayerOption

        VideoPlayerOption

        VideoPlayerOption

  • 返回值
    类型:HTMLVideoElement | undefined

  • 参考

setLocalVideoMirrorMode

镜像翻转本地摄像头画面
使用“前置摄像头”采集时,是否开启镜像翻转本地摄像头画面

  • 类型

    (mirrorType: number) => void
    
  • 参数

    • mirrorType
      类型:number
      可选枚举值及说明如下:
      0(MIRROR_MODE_OFF,不开启镜像翻转,默认)
      1(MIRROR_MODE_ON,开启镜像翻转)

getLocalVideoMirrorMode

获取是否开启镜像翻转本地摄像头画面
使用“前置摄像头”采集时,获取是否开启镜像翻转本地摄像头画面

  • 类型

    () => number
    
  • 返回值
    类型:number

    • 0(MIRROR_MODE_OFF,不开启镜像翻转)
    • 1(MIRROR_MODE_ON,开启镜像翻转)

updateVideoRenderMode

设置视频渲染模式

  • 类型

    (videoRenderMode: number) => void
    
  • 参数

    • videoRenderMode
      类型:number
      • 0 VIDEO_RENDER_MODE.CONTAIN(默认)
  • 1 VIDEO_RENDER_MODE.FILL: 非等比拉伸视频画面并充满整个容器

  • 2 VIDEO_RENDER_MODE.COVER: 根据视频画面分辨率长边做裁剪

startExternalVideoTrack

开启视频外部采集
需要先调用 setVideoSourceType,将采集模式设置为外部采集。

  • 类型

    (streamIndex: number, mediaStreamTrack: MediaStreamTrack) => Promise<void>
    
  • 参数

    • streamIndex
      类型:number
      外部采集的 AudioTrack 视频流 MediaStreamTrack
    • mediaStreamTrack
      类型:MediaStreamTrack
      外部采集的 AudioTrack 视频流 MediaStreamTrack
  • 返回值
    类型:Promise<void>

stopExternalVideoTrack

关闭视频外部采集
关闭视频的外部采集(需要先调用 setVideoSourceType,将采集模式设置为外部采集)。

  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<void>

startExternalAudioTrack

开启音频外部采集
开启音频的外部采集(需要先调用 setAudioSourceType,将采集模式设置为外部采集)。

  • 类型

    (streamIndex: number, mediaStreamTrack: MediaStreamTrack) => Promise<void>
    
  • 参数

    • streamIndex
      类型:number
      外部采集的 AudioTrack 视频流 MediaStreamTrack
    • mediaStreamTrack
      类型:MediaStreamTrack
      外部采集的 AudioTrack 视频流 MediaStreamTrack
  • 返回值
    类型:Promise<void>

stopExternalAudioTrack

关闭音频外部采集
关闭音频的外部采集(需要先调用 setAudioSourceType,将采集模式设置为外部采集)。

  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<void>

sendTouchMessage

发送触控事件

  • 类型

    (touchMessage: { action: number; pointerId: number; x: number; y: number;}) => void
    
  • 参数

    • touchMessage
      类型:{ action: number; pointerId: number; x: number; y: number; }
      入参格式JSON
      • 成员

        名称

        类型

        描述

        action

        number

        触控动作,可选 ACTION.TOUCH_START、ACTION.TOUCH_END、ACTION.TOUCH_MOVE(见 ACTION

        pointerId

        number

        触控ID,用于标识单个手指

        x

        number

        取值范围 [0,1] 。云手机画面的 x 轴相对坐标,可根据 DOM 的宽高比以及 start 接口返回的云机实例宽高比进行计算

        y

        number

        取值范围 [0,1] 。云手机画面的 y 轴相对坐标,可根据 DOM 的宽高比以及 start 接口返回的云机实例宽高比进行计算

  • 返回值
    分别返回发送「成功/失败」的状态

sendKeycodeMessage

发送按键事件

  • 类型

    (keycodeMessage: { keycode: number; action: number;}) => Promise<void>
    
  • 参数

    • keycodeMessage
      类型:{ keycode: number; action: number; }
      入参格式为JSON
      • 成员

        名称

        类型

        描述

        keycode

        number

        键码,可选 KEYCODE 枚举类型(见 KEYCODE

        action

        number

        按键动作,可选 ACTION 枚举类型(见 ACTION

  • 返回值
    类型:Promise<void> 分别返回发送「成功/失败」的状态

sendMouseMessage

发送鼠标事件

  • 类型

    (mouseMessage: { button?: number; action: number; wheel?: number; x: number; y: number;}) => void
    
  • 参数

    • mouseMessage
      类型:{ button?: number | undefined; action: number; wheel?: number | undefined; x: number; y: number; }
      入参格式JSON
      • 成员

        名称

        类型

        描述

        button

        number | undefined

        鼠标按键标示,MOUSE_BUTTON.LEFT、MOUSE_BUTTON.RIGHT、MOUSE_BUTTON.CENTER。action 为 DOWN、UP、MOVE 时有效 (见 MOUSE_BUTTON

        action

        number

        鼠标动作,可选 ACTION.DOWN、ACTION.UP、ACTION.MOVE、ACTION.WHEEL(见 ACTION

        wheel

        number | undefined

        滚轮值,action 为 WHEEL 时有效

        x

        number

        相对屏幕位置 x 轴 0.00000 - 1.00000

        y

        number

        相对屏幕位置 y 轴 0.00000 - 1.00000

setRemoteLocationMock

设置远端位置信息
设置远端经纬度信息

  • 类型

    (location: { latitude: number; longitude: number;}) => Promise<{ latitude: number; longitude: number; }>
    
  • 参数

    • location
      类型:{ latitude: number; longitude: number; }
      • 成员

        名称

        类型

        描述

        latitude

        number

        纬度

        longitude

        number

        经度

  • 返回值
    类型:Promise<{ latitude: number; longitude: number; }>

  • 示例

    vePlayer.setRemoteLocationMock({
      latitude: 39.916527,
      longitude: 116.397128
    })
    

setLocationServiceMode

设置远端请求位置信息的模式

  • 类型

    (mode: number) => void
    
  • 参数

    • mode
      类型:number
      0(自动模式,默认,需要在实例化 vePhoneSDK 时通过 enableLocationService 参数开启定位信息同步)
      1(手动模式,通过 setRemoteLocationMock 接口设置远端位置信息)
  • 返回值
    void

setIdleTime

设置保活时间
在应用中动态设置客户端切后台之后,云机应用服务的保活时间(如不设置,则使用默认保活时长300秒)

  • 注意
    当客户端切后台时开始计时。如用户在设置的保活时间到达时未切回前台,服务端将断开应用连接。

  • 类型

    (time: number) => Promise<void>
    
  • 参数

    • aliveTime
      类型:number
      保活时长,单位秒
  • 返回值
    类型:Promise<void> Promise

getIdleTime

获取保活时间
在应用中动态设置客户端切后台之后,云机应用服务的保活时间(如不设置,则使用默认保活时长300秒)

  • 注意
    当客户端切后台时开始计时。如用户在设置的保活时间到达时未切回前台,服务端将断开应用连接。

  • 类型

    () => Promise<number>
    
  • 返回值
    类型:Promise<number> Promise

setAutoRecycleTime

设置无操作回收服务时间
该接口用于设定一个时长,如果在这个时长内客户端没有任何操作,云手机实例将停止推流并自动退出。
如不设置或设置为0,则使用默认时长 300 秒。

  • 注意
    如果已在启动云应用时通过 [autoRecycleTime] 参数设置,动态设置的时长优先级高。

  • 类型

    (duration: number) => Promise<void>
    
  • 参数

    • duration
      类型:number
  • 返回值
    类型:Promise<void> promise

rotateScreen

屏幕UI方向旋转
UI 旋转操作时,并配合调用该方法进行坐标旋转,保证点击/触控坐标计算准确

  • 类型

    (degree: number, isPodRotate?: boolean) => void
    
  • 参数

    • degree
      类型:number
      顺时针旋转角度,可选 0、90、180、270
    • isPodRotate
      类型:boolean | undefined
      云机是否同步旋转(云机屏幕方向变化):
      • true:本地手机 UI 屏幕方向旋转,且云机屏幕同步进行旋转
      • false:本地手机 UI 屏幕方向旋转,但云机屏幕不旋转

rotateCoordinate

坐标旋转
当使用 CSS transform 的 rotate/rotate3d 进行 UI 旋转操作时,需要配合调用该方法进行坐标旋转,保证点击/触控坐标计算准确。

  • 类型

    (degree: number) => void
    
  • 参数

    • degree
      类型:number
      顺时针旋转角度,可选 0、90、180、270

screenShot

云手机画面截图

  • 注意
    截图文件保存和清理逻辑如下:

    • 当保存截图文件在云手机实例时,截图超过1000张时会清理之前保存的截图文件
    • 当上传截图文件到对象存储时,截图上传到对象存储成功后再清理云手机实例中的截图文件
    • 如果本地存储占用超过80%,发起截图时会报错提示
  • 类型

    (isSavedOnPod: boolean) => Promise<{ result: number; savePath: string; errorCode?: number; message: string; downloadUrl?: string;}>
    
  • 参数

    • isSavedOnPod
      类型:boolean
  • 返回值
    类型:Promise<{ result: number; savePath: string; errorCode?: number; message: string; downloadUrl?: string; }>

    • result 截图结果:0:截图成功;-1:存储空间不足,截图失败;-2:未知原因,截图失败
    • savePath 在云手机实例中保存截图文件的路径,例如:/sdcard/Pictures/Screenshots/20220721_164937.jpg
    • downloadUrl 截图成功时返回截图文件的下载链接,链接有效期1小时
    • errorCode 错误码,正常情况为 0
    • message 错误信息,正常情况为空

startRecording

开始云手机画面录屏
对当前云手机画面进行录屏

  • 类型

    (duration: number, isSavedOnPod?: boolean) => Promise<void>
    
  • 参数

    • duration
      类型:number
      设置最大录屏时长(单位:秒),支持设置的最大值为14400(即4小时)
    • isSavedOnPod
      类型:boolean | undefined
      设置最大录屏时长(单位:秒),支持设置的最大值为14400(即4小时)
  • 返回值
    类型:Promise<void>

stopRecording

停止画面录屏
主动停止对当前云手机画面进行录屏

  • 注意
    在以下情况下,云手机画面录屏也将停止:

    • 调用 stop 接口,画面录屏停止,录像文件生成成功;
    • 设置的客户端切换后台服务保活时间到达时,画面录屏停止,录像文件生成成功;
    • 设置的无操作回收服务时长到达时,画面录屏停止,录像文件生成成功。
  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<void> Promise

getFocusedWindowApp

查询屏幕当前焦点窗口应用
查询屏幕当前的焦点窗口应用名称

  • 注意
    获取屏幕当前焦点应用包名,结果通过on('focused-window')获取
  • 类型
    () => void
    

getNavBarStatus

获取导航栏开关状态

  • 类型

    () => Promise<{ status: number; reason?: number;}>
    
  • 返回值
    类型:Promise<{status: number, reason?: number}> status

    • 0 隐藏导航栏
    • 1 打开导航栏,launcher和非全面屏应用会显示导航栏,但申请全面屏时,应用导航栏自动隐藏

setNavBarStatus

设置导航栏开关状态

  • 类型

    (status: number) => Promise<void>
    
  • 参数

    • status
      类型:number
      0 隐藏导航栏
      1 打开导航栏,launcher和非全面屏应用会显示导航栏,但申请全面屏时,应用导航栏自动隐藏
  • 返回值
    类型:Promise<void>

startPushFile

大文件传输-推送文件
启动客户端向云机实例推送文件
注意:该功能需配合 2025 年 7 月 8 日之后发布的公共镜像版本使用。

  • 类型

    (file: File, { folder, name, }: { folder: string; name: string;}) => void
    
  • 参数

    • file
      类型:File
      推送的文件
    • options
      类型:{ folder: string; name: string; }
      控制文件推送的路径和文件名
      • 成员

        名称

        类型

        描述

        folder

        string

        文件推送的路径

        name

        string

        文件推送的文件名

  • 示例

    第二个参数可以不传
    vePhone.startPushFile(file);
    
    vePhone.startPushFile(file, {
        folder: '/sdcard/Download',
        name: 'demo.png',
    })
    

stopPushFile

大文件传输-停止推送文件

  • 类型

    () => void
    
  • 示例

    vePhone.stopPushFile();
    

startPullFile

大文件传输-拉取文件
客户端主动拉取云机实例上的文件
注意:该功能需配合 2025 年 7 月 8 日之后发布的公共镜像版本使用。

  • 类型

    ({ folder, name, returnUrl, }: { folder: string; name: string; returnUrl?: boolean; expires?: number;}) => void
    
  • 参数

    • options
      类型:{ folder: string; name: string; returnUrl?: boolean | undefined; expires?: number | undefined; }
      控制拉取的文件路径和文件名
      • 成员

        名称

        类型

        描述

        folder

        string

        云机文件路径

        name

        string

        云机文件名

        returnUrl

        boolean | undefined

        文件下载 URL 是否为火山引擎对象存储的下载地址

  • 示例

    vePhone.startPullFile({
        folder: '/sdcard/Download',
        name: '1.mp4',
    });
    

stopPullFile

大文件传输-停止拉取文件
客户端停止拉取云机实例上的文件

  • 类型

    () => void
    
  • 示例

    vePhone.stopPullFile()
    

sendShakeEventToGame

摇一摇协议
用于触发云机应用摇一摇,适配摇一摇场景。

  • 类型

    (duration: number) => Promise<void>
    
  • 参数

    • duration
      类型:number
      摇一摇的持续时长,单位:ms,默认:1800
  • 返回值
    类型:Promise<void>

getConnectionState

获取连接状态
获取音视频流连接状态。

  • 类型

    () => string
    
  • 返回值
    类型:string

getStats

获取实时运行状态
获取云手机服务实时运行状态,包含延时、丢包率、帧率等。

  • 类型

    () => Promise<{ accessDelay: number; videoReceivedPacketsLostRate: number; videoReceivedBitrate: number; videoReceivedFrameRate: number; videoReceivedResolutionHeight: number; videoReceivedResolutionWidth: number; }>
    
  • 返回值
    类型:Promise<{ accessDelay: number; videoReceivedPacketsLostRate: number; videoReceivedBitrate: number; videoReceivedFrameRate: number; videoReceivedResolutionHeight: number; videoReceivedResolutionWidth: number; }>

    • accessDelay RTT 网络延时,单位为 ms
    • videoReceivedPacketsLostRate 接收视频丢包率
    • videoReceivedBitrate 接收视频码率,单位为 kbps
    • videoReceivedFrameRate 接收视频帧率,单位为 fps
    • videoReceivedResolutionHeight 接收视频分辨率高度
    • videoReceivedResolutionWidth 接收视频分辨率宽度

checkSystemRequirements

检测是否系统是否支持webTC

  • 类型

    () => boolean
    
  • 返回值
    类型:boolean

    • true 支持
    • false 不支持

getVersion

获取版本

  • 类型

    () => string
    
  • 返回值
    类型:string string

setOptions

更改/设置options配置项

  • 类型

    (options: CloudCoreConfig) => void
    
  • 参数

  • 返回值
    void

getAutoRecycleTime

获取已设置的无操作回收服务时间

  • 类型

    () => Promise<{ time: number; }> | undefined
    
  • 返回值
    类型:Promise<{ time: number; }> | undefined 无操作回收时间

enableLocationService

是否开启定位信息同步

  • 类型

    (enable: boolean) => void
    
  • 参数

    • enable
      类型:boolean
  • 返回值
    void

isLocationServiceEnabled

获取已开启定位信息同步

  • 类型

    () => boolean
    
  • 返回值
    类型:boolean void

getLocationServiceMode

获取远端请求位置信息的模式

  • 类型

    () => number
    
  • 返回值
    类型:number

enableLocalAudio

启动本地麦克风接口

  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<void>

disableLocalAudio

关闭本地麦克风接口

  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<void>

getVideoStreamProfileId

获取当前清晰度

  • 类型

    () => any
    
  • 返回值
    类型:any

setAudioSourceType

本地麦克风模块 开始

  • 类型

    (streamType: number, audioSourceType: number) => Promise<void>
    
  • 参数

    • streamType
      类型:number
      流类型(一般使用主流即可)
      STREAM_TYPE.STREAM_INDEX_MAIN(主流)
      STREAM_TYPE .STREAM_INDEX_SCREEN(屏幕流)
    • audioSourceType
      类型:number
      指定音频的采集模式,可选枚举值如下:
      AUDIO_SOURCE_TYPE.AUDIO_SOURCE_TYPE_EXTERNAL(音频外部采集)
      AUDIO_SOURCE_TYPE.AUDIO_SOURCE_TYPE_INTERNAL(音频内部采集)
  • 返回值
    类型:Promise<void>

setVideoSourceType

本地相机 模块

  • 类型

    (streamType: number, videoSourceType: number) => Promise<void>
    
  • 参数

    • streamType
      类型:number
      流类型(一般使用主流即可)
      STREAM_TYPE.STREAM_INDEX_MAIN(主流)
      STREAM_TYPE .STREAM_INDEX_SCREEN(屏幕流)
    • videoSourceType
      类型:number
      指定视频的采集模式,可选枚举值如下:
      VIDEO_SOURCE_TYPE.VIDEO_SOURCE_TYPE_EXTERNAL(视频外部采集)
      VIDEO_SOURCE_TYPE.VIDEO_SOURCE_TYPE_INTERNAL(视频内部采集)
  • 返回值
    类型:Promise<void>

setVideoEncoderConfig

配置本地视频编码质量策略
根据客户端的网络情况以及接收端的网络情况以及订阅方式,配置本地视频编码质量参数。

  • 类型

    (config: { width: number; height: number; frameRate: number; maxKbps: number;}) => Promise<void>
    
  • 参数

    • config
      类型:{ width: number; height: number; frameRate: number; maxKbps: number; }
      入参格式为JSON
      • 成员

        名称

        类型

        描述

        width

        number

        宽度

        height

        number

        高度

        frameRate

        number

        帧率

        maxKbps

        number

        最大码率

  • 返回值
    类型:Promise<void>

setReconnectTime

本地相机 模块 结束

  • 类型

    (time: number) => void
    
  • 参数

    • time
      类型:number
      重连时长,单位毫秒

setReturnUrl

大文件传输-设置是否返回文件下载地址

  • 类型

    (bool?: boolean) => void
    
  • 参数

    • bool
      类型:boolean | undefined
      true 返回文件下载地址
      false 不返回文件下载地址

startVideoPlay

开启视频文件播放

  • 类型

    (cameraFilePath: string, mode: number) => Promise<void>
    
  • 参数

    • cameraFilePath
      类型:string
    • mode
      类型:number
  • 返回值
    类型:Promise<void>

stopVideoPlay

停止视频文件播放

  • 类型

    () => Promise<void>
    
  • 返回值
    类型:Promise<void>

getVideoStatus

获取当前视频源状态

  • 类型

    () => Promise<{ status: number; error: number; path?: string;}>
    
  • 返回值
    类型:Promise<{ status: number; error: number; path?: string; }>

enableControl

设置指定用户是否具有云手机操控权(每个新用户连接云手机时默认具备操控权,可以通过本接口动态关闭控制权)。

  • 类型

    (userId: string, enable: boolean) => Promise<ControlEventResult>
    
  • 参数

    • userId
      类型:string
      用户 ID
    • enable
      类型:boolean
      开启或关闭该用户的操控权:
      true:开启云手机操控权;false:关闭云手机操控权
  • 返回值
    类型:Promise<ControlEventResult> code 为 0 代表成功,code 为 -1 代表失败,失败原因参考 msg 字段

hasControl

异步查询指定用户是否具有云手机操控权。

  • 类型

    (userId: string) => Promise<ControlEventResult>
    
  • 参数

    • userId
      类型:string
      用户 ID
  • 返回值
    类型:Promise<ControlEventResult> code 为 0 代表成功,code 为 -1 代表失败,失败原因参考 msg 字段

getAllControls

异步查询全部用户的操控权详情。

  • 类型

    () => Promise<Omit<ControlEventResult, "data"> & { data?: ControlState[] | undefined; }>
    
  • 返回值
    类型:Promise<Omit<ControlEventResult, "data"> & { data?: ControlState[] | undefined; }> code 为 0 代表成功,code 为 -1 代表失败,失败原因参考 msg 字段

setKeyboardStyle

拉流过程中,切换本地/云机输入法类型

  • local:本地输入法

  • pod:云机虚拟输入法

  • 类型

    (keyboard: string) => Promise<{ action: number; type: number;}>
    
  • 参数

    • keyboard
      类型:string
  • 返回值
    类型:Promise<{ action: number; type: number; }>

getKeyboardStyle

查询当前使用的本地/云机输入法类型

  • 类型

    () => Promise<{ action: number; type: number; callUserId: string;}>
    
  • 返回值
    类型:Promise<{ action: number; type: number; callUserId: string; }>

enableFullScreen

设置全面屏开关

  • 类型

    (enable: boolean) => Promise<{width:number, height: number, callUserId?:string}>
    
  • 参数

    • enable
      类型:boolean
  • 返回值
    类型:Promise<{width:number, height: number, callUserId?:string}> width 当前pod宽度,height 当前pod高度,callUserId 设置云机实例全面屏状态的用户ID

setAudioInjectionState

开启/关闭音频注入功能

  • 类型

    (enable: boolean) => Promise<void>
    
  • 参数

    • enable
      类型:boolean
      • true:开启
      • false:关闭
  • 返回值
    类型:Promise<void> Promise

getAudioInjectionState

获取音频注入开关状态

  • 类型

    () => Promise<{ enable: boolean; code: number; msg?: string;}>
    
  • 返回值
    类型:Promise<{enable:boolean, code: number, msg?:string}> state 当前音频注入打开状态

setVideoInjectionState

设置视频注入开关

  • 类型

    (enable: boolean) => Promise<void>
    
  • 参数

    • enable
      类型:boolean
      • true:开启
      • false:关闭
  • 返回值
    类型:Promise<void> Promise

getVideoInjectionState

获取视频注入开关状态

  • 类型

    () => Promise<{ enable: boolean; code: number; msg?: string;}>
    
  • 返回值
    类型:Promise<{enable:boolean, code: number, msg?:string}> state 当前视频注入打开状态

updateExpireTime

拉流过程中动态更新拉流过期时间。
若启动拉流时限定了拉流有效期,拉流到期前 30s 时会收 WARNING_TOKEN_WILL_EXPIRE(34001) 警告,提示拉流即将过期,期间可调用本接口更新拉流到期时间,延长拉流时间。若未更新,则到期后将自动断开与云手机实例的连接。

  • 类型

    (token: STSToken, expireTime: number) => Promise<void>
    
  • 参数

    • token
      类型:STSToken
      鉴权 Token 相关信息。
    • expireTime
      类型:number
      拉流过期时间。单位为秒,取值范围 [0,172800],即 2 天。
  • 返回值
    类型:Promise<void> Promise

screenShotLocal

对当前云手机画面进行本地快速截图。
区别于 ScreenShot 接口,本接口的截图过程在客户端完成。

  • 类型

    (autoDownload?: boolean) => void
    
  • 参数

    • boolean
      类型:autoDownload
      是否自动将截图下载至本地。
  • 返回值
    类型:Promise<void>

sendInputText

输入自定义文本。当云机输入框获取到焦点时,可以调用此方法向云机输入框输入自定义文本内容。

  • 类型

    (text: string) => void
    
  • 返回值
    类型:void

coverCurrentEditText

清除输入框文本。当云机输入框获取到焦点时,可以调用此方法清除或覆盖云机输入框已有的内容。

  • 类型

    (text: string) => void
    
  • 返回值
    类型:void

  • 示例

    vePhoneSDKInstance.coverCurrentEditText('');
    
最近更新时间:2026.03.20 10:29:45
这个页面对您有帮助吗?
有用
有用
无用
无用