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

云手机

复制全文
下载 pdf
Android SDK
生命周期接口
复制全文
下载 pdf
生命周期接口
获取 vePhoneEngine 的状态​
描述:获取当前 vePhoneEngine 的状态,状态说明如下:​
​
状态​
说明​
1. (0x0001)​
未初始化状态​
2. (0x0002)​
初始化成功​
3. (0x0004)​
正常调用 start 接口​
5. (0x0008)​
收到云机首帧​
6. (0x0010)​
停止拉取云机视音频流,但不会改变云机的运行状态​
​
参考以下示例:​
​
// vePhoneEngine class ​
int getStatus()​
​
​
// vePhoneEngine class ​
void addCloudCoreManagerListener(@NonNull ICloudCoreManagerStatusListener listener)​
​
void removeCloudCoreManagerListener(@NonNull ICloudCoreManagerStatusListener listener)​
​
public interface ICloudCoreManagerStatusListener {​
void onPrepared();​
}​
​
addCloudCoreManagerListener(listener)​
描述:设置 vePhoneEngine 生命周期回调监听。​
removeCloudCoreManagerListener(listener)​
描述:取消 vePhoneEngine 生命周期回调监听。​
ICloudCoreManagerStatusListener​
描述:vePhoneEngine 生命周期回调。​
​
接口名称​
接口描述​
onPrepared()​
SDK 初始化成功回调​
​
SDK prepare 函数​
描述:prepare 函数主要作用是设置 SDK 的 Android Application 全局上下文对象 ,并开始下载对应的插件。因此需要在调用 start 接口前调用 vePhoneEngine 的 prepare 函数。​
注意:调用 vePhoneEngine prepare 函数就是正式开始使用 SDK 了。因此在运行过程中需要采集必要的用户信息。在调用 vePhoneEngine 的 prepare 函数前,必须提示并获得用户授权。如果用户已经授权过,则可以在 Application onCreate 的时候调用(vePhone SDK 需要采集的必要信息和可选信息,参考 云手机 SDK 隐私政策)。​
  • 第一次调用 prepare 函数时,SDK 会进行一次资源异步加载。如果资源加载失败,不需要重新调用 prepare。SDK 会在调用 start 接口启动游戏时检查资源是否已成功加载,如果没有,则会重新进行异步资源的加载待加载成功后会进行真正的 start。资源加载完成后会,有 ICloudCoreManagerStatusListener 的 onPrepared 回调。​
  • prepare 函数只需要调用一次。特别注意:多进程会多次执行 Application 的 onCreate,需要在 onCreate 中添加当前进程判断。详细信息,可参考 Github Demo。​
​
/**​
* vePhoneEngine class ​
* @param application Android上下文​
*/​
public void prepare(Application application)​
​
火山引擎账号​
在申请云手机服务之前,需要在 \app\src\main\AndroidManifest.xml 文件的 meta-data 中填入注册的火山引擎用户账号(VOLC_ACCOUNT_ID)。参考以下示例:​
​
<meta-data​
android:name="VOLC_ACCOUNT_ID"​
android:value="21000xxxxx" />​
​
可通过火山引擎官网页面右上角 用户 > 账号管理 > 主账号信息 获取用户账号。​
开始播放​
描述:当成功初始化完成后,可以调用 start(),拉流开始播放。​
入参:config​
返回值:开始播放触发的回调为 IStreamListener 的 onFirstRemoteVideoFrame​
参考以下示例:​
​
public void start(@NonNull PhonePlayConfig config, @NonNull IPlayerListener playerListener)​
​
config 字段描述如下:​
​
名称​
参数范围​
是否必填​
说明​
ak​
String​
是​
用于用户鉴权的临时 Access Key,通过调用服务端 STSToken 接口获取,参考 临时 Token 签发​
sk​
String​
是​
用于用户鉴权的临时 Secret Key,通过调用服务端 STSToken 接口获取,参考 临时 Token 签发​
token​
String​
是​
用于用户鉴权的临时 Token,通过调用服务端 STSToken 接口获取,参考 临时 Token 签发​
productId​
String​
是​
云手机业务 ID,可通过火山引擎云手机控制台『业务管理』页面获取​
container​
FrameLayout 或其子类​
是​
用来承载画面的 Container​
userId​
String​
否​
自定义客户端用户 ID,用于标识用户在流媒体房间中的身份,小于64位。​
注意​
自 Android 1.73.0 版本开始为非必填参数,不传时 SDK 会自动生成默认值,格式为 {OS}_{DEVICE_ID},{OS} 为操作系统类型(如 Android),{DEVICE_ID} 为设备唯一标识。​
enableUserIdAuth​
Boolean​
否​
是否开启用户 ID 鉴权(强校验),默认为 False。若 AssumeRole 接口 生成需要进行用户 ID 鉴权的临时 Token,则此项需传入 true 以开启鉴权;否则会触发请求错误。​
accountId​
String​
否​
用于动态修改用户的火山引擎账号。​
注意​
当修改此账号时,需要同步修改传入的 ak、sk、token 参数。该参数若不填写,SDK 会默认读取 AndroidManifest.xml 中声明的 accountId。​
roundId​
String​
否​
当次启动的生命周期标识,可以用该参数查询使用时长,链路日志等​
命名规则如下:​
  • 最大长度为128位的非空字符串,支持的字符集范围为:​
  • 大写字母 A ~ Z​
  • 小写字母 a ~ z​
  • 数字 0 ~ 9​
  • 下划线 "_", 减号 "-"​
podId​
String​
否​
实例 ID,可通过火山引擎云手机控制台『实例管理』页面获取(如不指定,则由具体调度逻辑调度 Pod)​
appId​
String​
否​
需要启动的应用 ID(推流时直接打开应用),可通过火山引擎云手机控制台『应用管理』页面获取​
configurationCode​
String​
否​
火山侧套餐 ID​
enableLocalKeyboard​
Boolean​
否​
是否启用手机本地输入法(默认为 false)​
setLightSensorState​
Boolean​
否​
是否开启光线传感器(默认为 false)​
setMagneticSensorState​
Boolean​
否​
是否使能磁力传感器(默认为 false),建议同时开启的传感器数量不超过三个。​
setAccelerometerSensorState​
Boolean​
否​
是否使能加速度传感器(默认为 false),建议同时开启的传感器数量不超过三个。​
setGravitySensorState​
Boolean​
否​
是否使能重力传感器(默认为 false),建议同时开启的传感器数量不超过三个。​
setOrientationSensorState​
Boolean​
否​
是否使能方向传感器(默认为 false),建议同时开启的传感器数量不超过三个。​
setGyroSensorState​
Boolean​
否​
是否使能陀螺仪传感器(默认为 false),建议同时开启的传感器数量不超过三个。​
setVibratorState​
Boolean​
否​
是否开启震动传感器(默认为 true),建议同时开启的传感器数量不超过三个。​
setLocationServiceState​
Boolean​
否​
是否使能定位服务(默认为 false)​
remoteLocationMock​
LocationInfo​
否​
指定云机定位数据:​
  • latitude:纬度​
  • longitude:经度​
locationStrategy​
String​
否​
定位数据上传方案(默认为 GPS):​
  • GPS(默认的定位同步方案,能满足静止、步行导航等一般性的定位需求)​
  • NMEA(高性能定位同步方案,上报频率和对网络传输延迟要求均较高,适用于云机导航等场景)​
rotation​
Rotation​
否​
屏幕的横竖屏模式,建议使用默认设置 AUTO_ROTATION​
reset​
Boolean​
否​
退出后,是否重置设备环境:​
  • true: 重置​
  • false: 不重置(默认)​
videoStreamProfileId​
Int​
否​
清晰度档位 ID,可选枚举值和对应的清晰度配置,参考 云手机清晰度档位说明​
autoRecycleTime​
Int​
否​
设置无操作自动回收服务时长,单位秒(如不设置或设置为0,则使用默认时长300秒,支持设置的上限值为7200,即2小时)​
streamType​
String​
否​
指定启动云手机时拉取音视频流类型(如不指定,则正常拉取音视频流):​
  • VIDEO(仅拉取视频流,不拉取音频流)​
  • AUDIO(仅拉取音频流,不拉取视频流)​
  • BOTH(启动后音视频正常拉流,默认)​
remoteWindowSize​
Int​
否​
设置云机推流分辨率(width 和 height),取值范围 >= 0,说明如下:​
  • 如果不传,默认获取初始化时 Container 的宽高作为请求参数上传;​
  • 当 width = 0,height = 0 时,服务端按照原始画面和分辨率推流;​
  • 当 width > 0, height > 0 时,将指定的宽高作为请求参数上传给服务端做分辨率适配(如果云机屏幕为竖屏,指定的 width 必须小于 height);​
  • 其他情况把初始化时 Container 的宽高作为请求参数上传​
videoRenderMode​
Int​
否​
指定视频流渲染模式:​
  • 0:(VIDEO_RENDER_MODE_FIT,等比缩放居中模式,默认)​
  • 1:(VIDEO_RENDER_MODE_FILL,非等比拉伸模式)​
  • 2:(VIDEO_RENDER_MODE_COVER,等比例缩放模式)​
渲染模式的详细说明,参考 更新画面渲染模式​
videoRotationMode​
Int​
否​
指定视频旋转模式:​
  • 0:(EXTERNAL,外部旋转,默认值;此模式下,用户需通过监听 IStreamListener.onRotation 回调,从外部调整页面方向从而实现画面方向与云手机实例同步)​
  • 1:(INTERNAL,内部旋转;此模式下,SDK 内部对画面进行方向处理,外部不需要做任何画面方向的处理)​
renderViewType​
Int​
否​
视频流渲染组件(不同类型的主要差异在转场动画、渲染性能等方面):​
  • 1(SURFACE_VIEW,默认)​
  • 2(TEXTURE_VIEW)​
userTag​
String​
否​
用户标签,由业务方指定​
extra​
Map<String,String>​
否​
根据业务需要,自定义扩展参数​
waitTime​
int​
否​
云手机实例进房后,等待客户端加入房间的最大允许时长。当云手机处于房间中而没有客户端加入,或者所有客户端都已离开房间后,云手机将在到达此参数设置的时长后自动退出房间。​
单位为 s,默认值为 10,取值范围为 [10, 259200],传入非法参数时自动调整为默认值即 10s。​
请根据实际需求合理设置此参数,以确保云手机在没有客户端活动时能够及时释放资源。​
expireTime​
long​
否​
拉流 Token 有效期,单位为秒,取值范围 [0,172800],即 2 天。若不设置本参数,Token 有效期会始终在后台自动更新;若设置本参数,Token 有效期则本参数中的设置为准。​
​
config 最简配置参考示例(必填参数):​
​
PhonePlayConfig.Builder builder = new PhonePlayConfig.Builder();​
builder.userId("your_user_id")​
.container(mContainer)​
.ak("your_ak")​
.sk("your_sk")​
.token("token")​
.productId("your_product_id")​
PhonePlayConfig config = builder.build(); ​
​
config 完整配置参考示例:​
​
PhonePlayConfig.Builder builder = new PhonePlayConfig.Builder();​
PhonePlayConfig config = builder.userId("your_user_id") ​
.container(layout)​
.ak("your_ak")​
.sk("your_sk")​
.token("token")​
.productId("your_product_id")​
.podId("pod_id")​
.appId("your_app_id")​
.roundId("round_id")​
.rotation("landscape")​
.userTag("tag01")​
.configurationCode("config_code")​
.enableLocalKeyboard(false)​
.setMagneticSensorState(false) ​
.setAccelerometerSensorState(false) ​
.setGravitySensorState(false) ​
.setGyroSensorState(false)​
.setLocationServiceState(false)​
.setOrientationSensorState(false)​
.setVibratorState(false)​
.reset(false)​
.videoStreamProfileId(1)​
.autoRecycleTime(120)​
.streamType(VIDEO)​
.waitTime(120)​
.renderViewType(RenderViewType.SURFACE_VIEW)​
.extra(new HashMap<String,String>())​
.enableUserIdAuth(boolean enable);​
​
IPlayerListener​
拉流播放状态回调监听:​
​
接口名称​
接口描述​
onServiceInit(Map<String, Object> extras)​
加入房间前回调,用于获取并初始化各个功能服务,例如设置各种事件监听回调:​
  • extras:保留参数,用于透传一些额外参数​
onPlaySuccess(String roundId, int videoStreamProfileId)​
播放成功回调:​
  • roundId:当次启动的生命周期标识符​
  • videoStreamProfileId:当前云手机画面的清晰度,首帧渲染到画面时触发该回调​
onNetworkChanged(int type)​
网络连接类型和状态切换回调:​
  • -1: 网络连接类型未知​
  • 0: 网络连接已断开​
  • 1: 网络类型为 LAN​
  • 2: 网络类型为 Wi-Fi(包含热点)​
  • 3: 网络类型为 2G 移动网络​
  • 4: 网络类型为 3G 移动网络​
  • 5: 网络类型为 4G 移动网络​
  • 6: 网络类型为 5G 移动网络​
onWarning(int code, String message)​
SDK 内部产生告警回调,参考 警告码。​
onError(int code, String message)​
SDK内部产生错误回调,参考 错误码。​
注意:在出现报错时,需要调用 stop() 接口,恢复到初始状态,排查问题后,再调用 start()。​
​
参考示例:​
​
public interface IPlayerListener {​
​
void onServiceInit(@NonNull Map<String, Object> extras);​
​
void onPlaySuccess(String roundId, int videoStreamProfileId);​
​
void onNetworkChanged(int type);​
​
void onWarning(int code, String message);​
​
void onError(int code, String message);​
​
}​
​
IStreamListener​
获取音视频流信息回调监听。​
​
接口名称​
接口描述​
onFirstAudioFrame(String uid)​
订阅视频流到收到音频首帧回调:​
  • uid:远端实例视频流 ID​
onFirstRemoteVideoFrame(String uid)​
订阅视频流到收到视频首帧回调:​
  • uid:远端实例视频流 ID​
onStreamPaused()​
调用 pause(),暂停播放后的回调​
onStreamResumed()​
调用 resumeplay() 或 muteAudio(false),恢复播放后的回调​
onStreamStats(StreamStats streamStats)​
视频流的当前性能状态回调:​
  • streamStats:远端数据间视频流的性能状态,参考以下 StreamStats 类型说明。​
onStreamConnectionStateChanged(int state)​
视频流连接状态变更回调:​
  • 1:连接断开​
  • 2:首次连接,正在连接中​
  • 3:首次连接成功​
  • 4:连接断开后重新连接中​
  • 5:连接断开后重连成功​
  • 6:网络连接断开超过 10 秒,仍然会继续重连​
onNetworkQuality(int quality)​
网络质量回调,每隔 2 秒上报一次网络质量评级:​
  • quality:网络质量评级(可根据当前返回的网络质量评级进行推流参数降级或者终止拉流;详细信息,参考以下onNetworkQuality 相关信息)​
注意:本回调暂仅适用于云车机或云手机(单开、双开实例)场景。​
onDetectDelay(long elapse)​
当前操作延迟回调,单位毫秒​
onRotation(@NonNull RotationState state)​
客户端旋转回调​
onPodExit(int reason, String msg)​
实例端退出回调,参考以下 onPodExit 相关信息​
​
参考示例:​
​
public PhonePlayConfig.Builder streamListener(IStreamListener listener)​
​
public interface IStreamListener {​
​
void onFirstAudioFrame(String uid);​
​
void onFirstRemoteVideoFrame(String uid);​
​
void onStreamPaused();​
​
void onStreamResumed();​
​
void onStreamStats(StreamStats streamStats);​
​
void onStreamConnectionStateChanged(int state);​
​
void onNetworkQuality(int quality);​
​
void onDetectDelay(long elapse);​
​
void onRotation(@NonNull RotationState state);​
​
void onPodExit(int reason, String msg);​
}​
​
onPodExit 相关信息​
​
错误码​
错误信息​
说明​
40000​
ERROR_REMOTE_ABNORMAL_EXIT​
实例退出。原因:云机服务异常退出。建议:请联系火山引擎云手机服务对接人员。​
40001​
ERROR_REMOTE_OPENAPI_EXIT​
实例退出。原因:通过控制台操作或调用服务端 OpenAPI 接口退出,属于符合预期的操作。​
40002​
ERROR_REMOTE_INVISIVLE​
实例退出。原因:云机实例状态被切换为不可见,属于符合预期的操作。​
40003​
ERROR_REMOTE_KICKOFF​
实例退出。原因:用户被断开连接,属于符合预期的操作。​
40004​
ERROR_STREAM_STOPPED_AUTO_RECYCLE​
实例退出。原因:用户长时间未操作,服务端自动断开应用连接。​
40005​
ERROR_REMOTE_EXIT​
实例退出。原因:服务端主动退出。​
40006​
ERROR_REMOTE_STOPPED_API​
应用停止。原因:服务端主动停止了应用。​
40007​
ERROR_DUPLICATE_USER​
应用停止。原因:在不同设备上,前后使用了相同的 userId 和 appId,前一个 start 请求会返回此错误码。建议:请检查调用启动云手机接口的参数是否重复。如果需要重新启动被停止的应用,请再次使用相同的 userId 和 appId 调用启动云手机接口。​
40008​
ERROR_POD_STOPPED_BACKGROUND_TIMEOUT​
应用停止。原因:应用切换后台,超过指定的保活时长未切换前台,服务端自动断开连接。建议:客户端需要提示用户因为应用切后台超过保活时长,连接断开。​
40009​
ERROR_POD_EXIT_GENERAL​
应用停止。原因:云机服务退出。建议:请联系火山引擎技术支持。​
40011​
ERROR_REMOTE_POWER_OFF​
实例异常退出。原因:云机实例关机。建议:重启云机实例。​
​
onNetworkQuality 相关信息​
网络质量评级说明:​
​
接口名称​
接口描述​
接口描述​
2​
NETWORK_QUALITY_GOOD​
表示当前网络状况良好,能够较好地承载当前业务​
4​
NETWORK_QUALITY_BAD​
表示当前网络质量欠佳,会影响当前业务的主观体验​
5​
NETWORK_QUALITY_VERY_BAD​
表示当前网络已经无法承载当前业务的媒体流,需要采取相应策略,比如降低媒体流的码率或者更换网络​
6​
NETWORK_QUALITY_DOWN​
表示当前网络完全无法正常通信​
​
StreamStats 类型说明​
​
接口名称​
接口描述​
getReceivedVideoBitRate()​
获取视频接收码率瞬时值(单位 kbps)​
getReceivedAudioBitRate()​
获取音频接收码率瞬时值(单位 kbps)​
getDecoderOutputFrameRate()​
获取解码器输出帧率(单位 fps)​
getRendererOutputFrameRate()​
获取渲染帧率(单位 fps)​
getReceivedResolutionHeight()​
获取远端视频流高度​
getReceivedResolutionWidth()​
获取远端视频流宽度​
getVideoLossRate()​
丢包率​
getRtt()​
获取客户端与服务端往返延时(单位 ms)​
getE2eDelay()​
获取用户体验级别的端到端延时,从发送端采集完成编码开始到接收端解码完成渲染开始的延时(单位 ms)​
getStallCount()​
卡顿次数​
getStallDuration()​
获取卡顿时长(统计周期内的视频卡顿总时长,单位 ms)​
getFrozenRate()​
获取卡顿率(视频卡顿的累计时长占视频总有效时长的百分比)​
getVideoCodecType()​
获取当前视频编码格式:​
  • 0:unknown​
  • 1:H264​
  • 2:H265​
​
参考示例:​
​
public class StreamStats {​
​
private int receivedVideoBitRate;​
​
private int receivedAudioBitRate;​
​
private int decoderOutputFrameRate;​
​
private int rendererOutputFrameRate;​
​
private int receivedResolutionHeight;​
​
private int receivedResolutionWidth;​
​
private float videoLossRate;​
​
private int rtt;​
​
private int e2eDelay;​
​
private int stallCount;​
​
private int stallDuration;​
​
private int frozenRate​
}​
​
LocalStreamStats​
本地音频流数据统计(LocalAudioStreamStats):​
​
参数​
类型​
描述​
audioLossRate​
Float​
音频丢包率;此次统计周期内的音频上行丢包率,单位为 % ,取值范围为 [0,1]​
sendKBitrate​
Float​
发送码率;此次统计周期内的音频发送码率,单位为 kbps​
recordSampleRate​
Integer​
采集采样率;此次统计周期内的音频采集采样率信息,单位为 Hz​
statsInterval​
Integer​
统计间隔;此次统计周期的间隔,单位为 ms​
rtt​
Integer​
往返时延;单位为 ms​
numChannels​
Integer​
音频声道数​
sentSampleRate​
Integer​
音频发送采样率;此次统计周期内的音频发送采样率信息,单位为 Hz​
​
本地视频流数据统计(LocalVideoStreamStats):​
​
参数​
类型​
描述​
sentKBitrate​
Float​
发送码率;此次统计周期内的视频发送码率,单位为 kbps​
inputFrameRate​
Integer​
采集帧率;此次统计周期内的视频采集帧率,单位为 fps​
sentFrameRate​
Integer​
发送帧率;此次统计周期内的视频发送帧率,单位为 fps​
encoderOutputFrameRate​
Integer​
编码器输出帧率;当前编码器在此次统计周期内的输出帧率,单位为 fps​
rendererOutputFrameRate​
Integer​
本地渲染帧率;此次统计周期内的本地视频渲染帧率,单位为 fps​
targetKBitrate​
Integer​
目标发送码率;此次统计周期内的视频目标发送码率,单位为 kbps​
targetFrameRate​
Integer​
目标发送帧率;当前编码器在此次统计周期内的目标发送帧率,单位为 fps​
statsInterval​
Integer​
统计间隔;单位为 ms​
videoLossRate​
Float​
视频丢包率;此次统计周期内的视频上行丢包率,取值范围: [0,1]​
rtt​
Integer​
往返时延;单位为 ms​
encodedBitrate​
Integer​
视频编码码率;此次统计周期内的视频编码码率,单位为 kbps​
encodedFrameWidth​
Integer​
视频编码宽度;单位为 px​
encodedFrameHeight​
Integer​
视频编码高度;单位为 px​
encodedFrameCount​
Integer​
此次统计周期内发送的视频帧总数​
codecType​
Integer​
视频的编码类型​
​
参考示例:​
​
public class LocalStreamStats {​
​
public final LocalVideoStreamStats mLocalVideoStreamStats;​
public final LocalAudioStreamStats mLocalAudioStreamStats;​
​
public static class LocalVideoStreamStats {​
public float sentKBitrate;​
public int inputFrameRate;​
public int sentFrameRate;​
public int encoderOutputFrameRate;​
public int rendererOutputFrameRate;​
public int targetKBitrate;​
public int targetFrameRate;​
public int statsInterval;​
public float videoLossRate;​
public int rtt;​
public int encodedBitrate;​
public int encodedFrameWidth;​
public int encodedFrameHeight;​
public int encodedFrameCount;​
public int codecType​
}​
​
public static class LocalAudioStreamStats {​
​
public float audioLossRate;​
public float sendKBitrate;​
public int recordSampleRate;​
public int statsInterval;​
public int rtt;​
public int numChannels;​
public int sentSampleRate​
}​
​
}​
​
错误码​
启动云手机可能返回的错误码和相关说明如下:​
​
错误码​
错误信息​
说明​
10000​
ERROR_START_GENERAL​
启动云手机失败。原因:通用错误。建议:请检查 start() 接口参数。​
10009​
ERROR_START_AUTHENTICATION_KEY_FAILED​
开始游戏失败。原因:火山引擎服务鉴权失败。建议:请检查临时鉴权 Token 的有效期,参考 生成临时 Token 接口。​
10011​
ERROR_START_CONNECTION_ENDED​
启动云手机失败。原因:在调用启动接口后,且启动成功回调触发前,云手机被停止(可能是因为服务端应用崩溃或者调用了OpenAPI stop 请求)。​
10020​
ERROR_STREAM_ID_NOT_EXIST​
视频流 ID 不存在。原因:启动云手机时指定了视频流 ID,但是云机不存在与该视频流 ID 对应的虚拟屏。建议:检查实例已配置的正确视频流 ID。​
10027​
ERROR_START_INVALID_LOCAL_TIME​
启动云手机失败。原因:用户手机时间和服务端时间相差超过7天,导致鉴权 Token 过期。建议:需要客户端提示用户把手机时间修正为标准时间。​
11001​
ERROR_START_PRODUCT_NOT_EXIST​
启动云手机失败。原因:业务 ID 错误。建议:请通过火山引擎云手机控制台『业务详情』页面获取。​
11002​
ERROR_START_APPLICATION_NOT_EXIST​
启动云手机失败。原因:应用 ID 错误。建议:请通过火山引擎云手机控制台『应用管理』页面获取。​
11003​
ERROR_START_CONFIGURATION_CODE_NOT_EXIST​
启动云手机失败。原因:资源套餐 ID 错误。建议:请通过调用服务端 ListPod 接口获取。​
11004​
ERROR_START_POD_NOT_EXIST​
启动云手机失败。原因:实例 ID 错误。建议:请通过火山引擎云手机控制台『实例管理』页面获取。​
11005​
ERROR_REQUEST_PARAMETER_BINDING_ERROR​
请求参数绑定错误。建议:请检查请求参数是否正确。​
11006​
ERROR_INVALID_REQUEST_PARAMETER​
请求参数错误。建议:请检查请求参数是否正确。​
11007​
ERROR_BUSINESS_ID_ERROR​
业务 ID 错误。建议:请检查业务是否存在,可通过火山引擎云手机控制台『业务详情』页面获取。​
11008​
ERROR_ACCOUNT_ID_INIT_ERROR​
火山引擎账号 ID 错误。建议:请检查使用的账号和签名,可通过火山引擎官网页面右上角 用户 > 账号管理 > 主账号信息 获取正确的账号。​
11009​
ERROR_ACCOUNT_ID_IS_INVALID​
火山引擎账号 ID 不合法。建议:通过火山引擎官网页面右上角 用户 > 账号管理 > 主账号信息 获取正确的账号。​
11010​
ERROR_USER_IS_INVALID​
子账号不合法。建议:请检查子账号是否有业务和实例相关操作权限。可参考 创建和管理子账号权限。​
11011​
ERROR_GENERIC_INSTANCE_ERROR​
套餐、实例不存在。建议:请检查实例状态、订购的资源是否过期。​
11012​
ERROR_INSTANCE_OFFLINE​
实例离线。建议:请检查实例状态。​
11013​
ERROR_UNIVERSAL_STARTUP_FAILED​
启动云手机失败。​
11014​
ERROR_INTERNAL_POD_START_FAILED​
启动云手机失败。建议:请检查实例状态或联系火山引擎云手机技术支持。​
11015​
ERROR_INTERNAL_POD_MUTE_FAILED​
启动云手机失败。建议:请检查实例状态或联系火山引擎云手机技术支持。​
11016​
ERROR_INTERNAL_CONFIG_FAILED​
启动云手机失败。建议:请检查实例状态或联系火山引擎云手机技术支持。​
11019​
ERROR_ACCOUNTID_MISMATCH​
指定的火山引擎账号校验失败。建议:通过火山引擎官网页面右上角 用户 > 账号管理 > 主账号信息 获取正确的账号。​
11020​
ERROR_POD_NOT_READY​
云机实例未就绪。建议:请检查指定的实例已开机运行。​
11021​
ERROR_DOWN_STREAM_UNKNOWN_ERROR​
服务端下游错误。建议:请联系火山引擎云手机技术支持。​
​
停止​
描述:停止从云机拉流。​
​
// vePhoneEngine class ​
void stop()​
​
​
最近更新时间:2026.08.06 14:43:54
这个页面对您有帮助吗?
有用
有用
无用
无用