VMOS Cloud API
  • 简体中文
  • English
  • 简体中文
  • English
  • Product Introduction
  • Product Type
  • Product Billing
  • OpenAPI
    • User Guide
    • API Documentation
    • Error Code
    • Instance Property List
    • Android device modification attribute list
    • Callback Task Business Type Codes
    • Changelog
  • Android SDK
    • Example Construction
    • API Documentation
    • Callback Functions
    • Error Code
    • Changelog
  • Web H5 SDK
    • Example Build
    • API Documentation
    • H5 SDK Callback Functions
    • Error Code
    • Change log
  • Windows PC SDK
    • Example Setup
    • API Documentation
    • Callback Functions
    • Changelog
  • Edge-Cloud Communication Development
    • AIDL Integration Method
    • System Service API (AIDL)
  • Similar to XP, LSP Hook framework

    • Xposed-like / LSPosed Framework
    • Sensor Data Dynamic Simulation
  • Related agreements

Table of Contents

  • Initialization Parameters
  • API Categories
  • Basic APIs
  • Audio/Video Control
  • Device Control
  • Input Control
  • Cloud Phone Control
  • Multi-Control Features
  • Media Injection

Initialization Parameters

const engine = new ArmcloudEngine(params)

1. Top-Level Parameters

Parameter NameTypeRequiredDescriptionDefault
tokenstring✓Server authentication token-
baseUrlstring✓SDK API base domain-
enableMicrophoneboolean✗Enable microphonetrue
enableCameraboolean✗Enable cameratrue
masterIdPrefixstring✗Prefix for multi-control master device ID""

2. Device Information Parameters

Parameter NameTypeRequiredDescriptionDefault
deviceInfo.padCodestring✓Room ID / Instance ID identifying the cloud phone-
deviceInfo.userIdstring✓User ID-
deviceInfo.autoRecoveryTimenumber✗Idle recycle time (seconds), 0 to disable300
deviceInfo.mediaTypenumber✗Media stream type (1: audio, 2: video, 3: both)2
deviceInfo.rotateTypenumber✗Screen orientation (0: portrait, 1: landscape)Auto-detect
deviceInfo.keyboardstring✗Keyboard mode ("local"/"pad")"pad"
deviceInfo.saveCloudClipboardboolean✗Enable cloud phone clipboard callbacktrue
deviceInfo.allowLocalIMEInCloudboolean✗Allow local IME when using cloud keyboardfalse
deviceInfo.disableContextMenuboolean✗Disable context menufalse
deviceInfo.videoDeviceIdstring✗Specify camera device IDAuto-select
deviceInfo.audioDeviceIdstring✗Specify microphone device IDAuto-select
deviceInfo.disableLocalIMEboolean✗Disable local keyboardfalse

3. Video Stream Parameters

Parameter NameTypeRequiredDescriptionDefault
deviceInfo.videoStream.resolutionnumber✗Video resolution12
deviceInfo.videoStream.frameRatenumber✗Video frame rate2
deviceInfo.videoStream.bitratenumber✗Video bitrate3

Video Quality Presets

Quality LevelResolution IDFrame Rate IDBitrate ID
Smooth9815
SD10815
HD1281
Ultra HD1513

Note: For detailed configuration parameters, see the Set Resolution, Bitrate, Frame Rate section.

API Categories

Basic APIs

  • isSupported - Check if browser supports RTC
  • start - Join room
  • stop - Leave room

Audio/Video Control

  • setStreamConfig - Set video parameters
  • muted/unmuted - Audio mute control
  • increaseVolume/decreaseVolume - Volume control
  • resumeAllSubscribedStream - Resume streaming
  • pauseAllSubscribedStream - Pause streaming

Device Control

  • setMicrophone - Microphone control
  • setCamera - Camera control
  • setVideoDeviceId - Specify camera
  • setAudioDeviceId - Specify microphone
  • setMonitorOperation - Enable operation monitoring

Input Control

  • setKeyboardStyle - Switch keyboard mode
  • sendCommand - Send key command
  • sendInputString - Send text to input field
  • sendInputClipper - Send text to clipboard
  • saveCloudClipboard - Control clipboard callback
  • triggerClickEvent - Simulate click
  • triggerPointerEvent - Simulate touch
  • triggerKeyboardShortcut - Common shortcuts

Cloud Phone Control

  • setGPS - Set GPS location
  • sendShake - Send shake gesture
  • setAutoRecycleTime/getAutoRecycleTime - Manage idle recycle time
  • setPhoneRotation - Set portrait/landscape
  • executeAdbCommand - Execute ADB command
  • saveScreenShotToLocal/saveScreenShotToRemote - Screenshot functions
  • setScreenResolution - Set/restore resolution and DPI

Multi-Control Features

  • toggleGroupControlSync - Pause/resume sync
  • joinGroupRoom - Join multi-control room
  • kickItOutRoom - Kick from multi-control room

Media Injection

  • injectVideoStream - Video injection control
  • startMediaStream/stopMediaStream - Camera/microphone injection
  • getInjectStreamStatus - Query injection status

Basic APIs

Browser Compatibility Check

### Static method to check if current browser supports RTC service
**Method Definition**

ArmcloudEngine.isSupported()

**Return Value**
`Promise<boolean>` - Returns whether the current browser supports RTC service
**Sample Code**
```javascript
const isSupported = await ArmcloudEngine.isSupported();
if (!isSupported) {
  console.warn("Current browser does not support RTC service");
  return false;
}

Join Room

Connect to the cloud phone and start remote control. Method Definition

engine.start(isGroupControl, pads)

Parameters

Parameter NameTypeRequiredDescriptionDefault
isGroupControlboolean✗Enable multi-control modefalse
padsstring[]✗Array of instance IDs to be controlled[]
Sample Code
// Normal mode connection
engine.start(false, []);
// Multi-control mode connection
engine.start(true, ["ACXXXX", "ACXXXX"]);

Leave Room

Disconnect and release resources. Method Definition

engine.stop()

Return ValuePromise<void> - Result of the stop operation Sample Code

try {
  await engine.stop();
  console.log("Disconnected");
} catch (error) {
  console.error("Failed to disconnect:", error);
}

Important Note: The stop() method destroys the engine and its created DOM nodes. Before creating a new ArmcloudEngine() instance to switch devices, always call stop() first.

Audio/Video Control

Set Resolution, Bitrate, Frame Rate

Adjust video stream parameters for different network conditions and quality needs. Method Definition

engine.setStreamConfig(definitionConfig: {
  definitionId: number; // Resolution ID
  framerateId: number; // Frame rate ID
  bitrateId: number; // Bitrate ID
}, forwardOff: boolean)

Parameter Description

Parameter NameTypeRequiredDescription
definitionConfigObject✓Video stream configuration object
definitionConfig.definitionIdnumber✓Resolution ID controlling clarity
definitionConfig.framerateIdnumber✓Frame rate ID controlling smoothness
definitionConfig.bitrateIdnumber✓Bitrate ID controlling data volume
forwardOffboolean✗Disable forwarding to multi-control room (effective only in multi-control), default true

Resolution Values (definitionId)

IDResolutionApplicable Scenario
7144×256Extremely low bandwidth
8216×384Low bandwidth
9288×512Smooth mode
10360×640SD mode
11480×848Enhanced SD
12540×960HD mode
13600×1024Enhanced HD
14480×1280Widescreen mode
15720×1280Ultra HD mode
16720×1920Widescreen Ultra HD
171080×1920Full HD
181440×19202K
191600×2560Super HD
202880×1080Ultra-wide view

Frame Rate Values (framerateId)

IDFrame RateApplicable Scenario
120fpsStandard smoothness
225fpsEnhanced smoothness
330fpsHigh smoothness
460fpsExtreme smoothness (fast motion)
51fpsMinimal bandwidth (static scenes)
65fpsLow bandwidth
710fpsBasic smoothness
815fpsNormal smoothness
92fpsUltra-low bandwidth

Bitrate Values (bitrateId)

IDBitrateApplicable Scenario
11MbpsHD base bitrate
21.5MbpsHD enhanced bitrate
32MbpsUltra HD base bitrate
42.5MbpsUltra HD enhanced bitrate
53MbpsUltra HD advanced bitrate
63.5MbpsFull HD base bitrate
74MbpsFull HD standard bitrate
85MbpsFull HD enhanced bitrate
96Mbps2K base bitrate
108Mbps2K standard bitrate
1110Mbps2K enhanced bitrate
1212MbpsSuper HD bitrate
13200kbpsExtremely low bandwidth
14400kbpsLow bandwidth
15600kbpsSmooth mode base bitrate

Common Quality Presets

ScenarioRecommended Config
Data-saving{ definitionId: 9, framerateId: 8, bitrateId: 15 }
Balanced{ definitionId: 10, framerateId: 8, bitrateId: 15 }
HD{ definitionId: 12, framerateId: 8, bitrateId: 1 }
Ultra HD{ definitionId: 15, framerateId: 1, bitrateId: 3 }
2K{ definitionId: 18, framerateId: 3, bitrateId: 10 }

Sample Code

// Set HD mode
engine.setStreamConfig({
  definitionId: 12, // 540×960
  framerateId: 2, // 25fps
  bitrateId: 3 // 2Mbps
});
// Set smooth mode (low bandwidth)
engine.setStreamConfig({
  definitionId: 9, // 288×512
  framerateId: 8, // 15fps
  bitrateId: 15 // 600kbps
});
// Set Ultra HD mode (high bandwidth)
engine.setStreamConfig({
  definitionId: 15, // 720×1280
  framerateId: 3, // 30fps
  bitrateId: 5 // 3Mbps
});

Resume Streaming

Resume audio/video stream transmission. Method Definition

engine.resumeAllSubscribedStream(mediaType)

Parameters

Parameter NameTypeRequiredDescription
mediaTypenumber✓Media type: 1 (audio), 2 (video), 3 (both)

Sample Code

// Resume audio and video
engine.resumeAllSubscribedStream(3);
// Resume audio only
engine.resumeAllSubscribedStream(1);
// Resume video only
engine.resumeAllSubscribedStream(2);

Pause Streaming

Pause audio/video stream transmission to save bandwidth. Method Definition

engine.pauseAllSubscribedStream(mediaType)

Parameters

Parameter NameTypeRequiredDescription
mediaTypenumber✓Media type: 1 (audio), 2 (video), 3 (both)

Sample Code

// Pause audio and video
engine.pauseAllSubscribedStream(3);
// Pause audio only
engine.pauseAllSubscribedStream(1);
// Pause video only
engine.pauseAllSubscribedStream(2);

Mute and Unmute

Control cloud phone audio output. Method Definition

// Mute
engine.muted()
// Unmute
engine.unmuted()

Return Value None Sample Code

// Mute
engine.muted();
// Unmute
engine.unmuted();

Volume Control

Adjust cloud phone volume. Method Definition

// Increase volume
engine.increaseVolume()
// Decrease volume
engine.decreaseVolume()

Return Value None Sample Code

// Increase volume
engine.increaseVolume();
// Decrease volume
engine.decreaseVolume();

Device Control

Microphone Control

Control whether local microphone audio is sent to the cloud phone. Method Definition

engine.setMicrophone(enable)

Parameters

Parameter NameTypeRequiredDescription
enableboolean✓true to enable, false to disable microphone

Sample Code

// Enable microphone
engine.setMicrophone(true);
// Disable microphone
engine.setMicrophone(false);

Camera Control

Control whether local camera video is sent to the cloud phone. Method Definition

engine.setCamera(enable)

Parameters

Parameter NameTypeRequiredDescription
enableboolean✓true to enable, false to disable camera

Sample Code

// Enable camera
engine.setCamera(true);
// Disable camera
engine.setCamera(false);

Specify Device

Specify the camera or microphone device to use. Method Definition

// Specify camera
engine.setVideoDeviceId(deviceId)
// Specify microphone
engine.setAudioDeviceId(deviceId)

Parameters

Parameter NameTypeRequiredDescription
deviceIdstring✓Device ID; empty string for auto-select

Sample Code

// Specify camera
engine.setVideoDeviceId('ab484e060c5f1186004457c5be97e874e976983ebf66e1227e4e925523fc4f11');
// Specify microphone
engine.setAudioDeviceId('ab484e060c5f1186004457c5be97e874e976983ebf66e1227e4e925523fc4f11');
// Auto-select
engine.setVideoDeviceId('');
engine.setAudioDeviceId('');

Enable Operation Monitoring

Enable or disable operation monitoring. Method Definition

engine.setMonitorOperation(enable: boolean, forwardOff: boolean)

Parameters

Parameter NameTypeRequiredDescription
enableboolean✓true to enable, false to disable operation monitoring
forwardOffboolean✗Disable forwarding to multi-control room (effective only in multi-control), default true

Sample Code

// Enable operation monitoring
engine.setMonitorOperation(true);
// Disable operation monitoring
engine.setMonitorOperation(false);

Input Control

Keyboard Style Control

Switch keyboard input mode. Method Definition

engine.setKeyboardStyle(keyboard)

Parameters

Parameter NameTypeRequiredDescription
keyboardstring✓Keyboard mode: "local" (local IME), "pad" (cloud virtual keyboard)

Sample Code

// Use local IME
engine.setKeyboardStyle('local');
// Use cloud virtual keyboard
engine.setKeyboardStyle('pad');

Key Command

Send system key commands. Method Definition

engine.sendCommand(command: string, forwardOff: boolean)

Parameters

Parameter NameTypeRequiredDescription
commandstring✓Key command: "back" (back), "home" (home), "menu" (menu); others refer to Android KeyEvent docs
forwardOffboolean✗Disable forwarding to multi-control room (effective only in multi-control), default false

Sample Code

// Send back key
engine.sendCommand("back");
// Send home key
engine.sendCommand("home");
// Send menu key
engine.sendCommand("menu");
// Send enter key
engine.sendCommand("66");

Text Input

Send text to the focused input field on the cloud phone. Method Definition

engine.sendInputString(text, forwardOff)

Parameters

Parameter NameTypeRequiredDescription
textstring✓Text content to input
forwardOffboolean✗Disable forwarding to multi-control room (effective only in multi-control), default false

Sample Code

// Input text into focused field
engine.sendInputString('hello world');

Note: This only sends text to the input field; it does not update the cloud phone clipboard.

Clipboard Control

Manage cloud phone clipboard content. Method Definition

// Send text to cloud phone clipboard
engine.sendInputClipper(text, forwardOff)
// Control cloud clipboard callback
engine.saveCloudClipboard(flag)

Parameters

MethodParameter NameTypeRequiredDescription
sendInputClippertextstring✓Text content to send to clipboard
sendInputClipperforwardOffboolean✗Disable forwarding to multi-control room (effective only in multi-control), default false
saveCloudClipboardflagboolean✓true to receive clipboard callback, false to disable

Sample Code

// Send text to cloud clipboard (long press paste in cloud input field to use)
engine.sendInputClipper('hello world');
// Enable cloud clipboard callback
engine.saveCloudClipboard(true);
// Disable cloud clipboard callback
engine.saveCloudClipboard(false);

Touch Simulation

Simulate touch and click events. Method Definition

// Simulate click
engine.triggerClickEvent(options: {
  x: number; // Click X coordinate
  y: number; // Click Y coordinate
  width: number; // Container width
  height: number; // Container height
})
// Simulate touch
engine.triggerPointerEvent(
  action: number, // Touch action type
  options: {
    x: number; // Touch X coordinate
    y: number; // Touch Y coordinate
    width: number; // Container width
    height: number; // Container height
  }
)

Parameter Description

MethodParameter NameTypeRequiredDescription
triggerClickEventoptionsObject✓Click event configuration
triggerClickEventoptions.xnumber✓Horizontal click position
triggerClickEventoptions.ynumber✓Vertical click position
triggerClickEventoptions.widthnumber✓Video container width
triggerClickEventoptions.heightnumber✓Video container height
triggerPointerEventactionnumber✓Touch action: 0 (down), 1 (up), 2 (move)
triggerPointerEventoptionsObject✓Touch event configuration
triggerPointerEventoptions.xnumber✓Horizontal touch position
triggerPointerEventoptions.ynumber✓Vertical touch position
triggerPointerEventoptions.widthnumber✓Video container width
triggerPointerEventoptions.heightnumber✓Video container height

Coordinate Calculation: Coordinates (x,y) are relative to the video container:

  • Actual X = x / width * actual video width
  • Actual Y = y / height * actual video height

Sample Code

// Simulate single click
engine.triggerClickEvent({
  x: 430, // Click X
  y: 1383, // Click Y
  width: 871, // Container width
  height: 1550 // Container height
});
// Simulate swipe
// 1. Down
engine.triggerPointerEvent(0, {
  x: 92, // Start X
  y: 1325, // Start Y
  width: 871,
  height: 1550
});
// 2. Move
engine.triggerPointerEvent(2, {
  x: 92,
  y: 1326,
  width: 871,
  height: 1550
});
// 3. Up
setTimeout(() => {
  engine.triggerPointerEvent(1, {
    x: 92,
    y: 1330, // End Y (moved vertically)
    width: 871,
    height: 1550
  });
}, 1);
// Simulate long press
// 1. Down
engine.triggerPointerEvent(0, {
  x: 300,
  y: 500,
  width: 871,
  height: 1550
});
// 2. Up after delay
setTimeout(() => {
  engine.triggerPointerEvent(1, {
    x: 300,
    y: 500,
    width: 871,
    height: 1550
  });
}, 800); // Long press 800ms

Common Shortcuts

Simulate shortcuts using keyCode. Method Definition

engine.triggerKeyboardShortcut(metaState, keyCode)

Parameter Description

Parameter NameTypeRequiredDescription
metaStatenumber✓Modifier state (refer to Android KeyEvent docs)
keyCodenumber✓Key code (refer to Android KeyEvent docs)

Sample Code

// Select all text (Ctrl + A)
engine.triggerKeyboardShortcut(8192, 29)
// Copy selected text (Ctrl + C) – triggers clipboard callback
engine.triggerKeyboardShortcut(8192, 31)

Cloud Phone Control

GPS Simulation

Set cloud phone GPS location. Method Definition

engine.setGPS(longitude, latitude)

Parameters

Parameter NameTypeRequiredDescription
longitudenumber✓Longitude
latitudenumber✓Latitude

Sample Code

// Set longitude 113, latitude 28
engine.setGPS(113, 28);

Device Control

Send device-specific commands. Method Definition

engine.sendShake(time)

Parameters

Parameter NameTypeRequiredDescriptionDefault
timenumber✗Shake duration (ms)1500

Sample Code

// Default 1.5 seconds
engine.sendShake();
// 2 seconds
engine.sendShake(2000);

Note: Excessive duration may trigger multiple screenshots.

Recycle Control

Manage idle auto-recycle time. Method Definition

// Set recycle time
engine.setAutoRecycleTime(second)
// Get recycle time
engine.getAutoRecycleTime()

Parameters

MethodParameter NameTypeRequiredDescription
setAutoRecycleTimesecondnumber✓Idle recycle time (seconds), 0–7200; 0 disables

Return Value

MethodReturn TypeDescription
getAutoRecycleTimePromise<number>Current idle recycle time (seconds)

Sample Code

// Set 5-minute idle recycle
engine.setAutoRecycleTime(300);
// Disable auto-recycle
engine.setAutoRecycleTime(0);
// Get current recycle time
engine.getAutoRecycleTime().then(time => {
  console.log(`Current idle recycle time: ${time} seconds`);
});

Screen Orientation

Set cloud phone screen orientation. Method Definition

engine.setPhoneRotation(type)

Parameters

Parameter NameTypeRequiredDescription
typenumber✓Orientation: 0 (portrait), 1 (landscape)

Sample Code

// Portrait
engine.setPhoneRotation(0);
// Landscape
engine.setPhoneRotation(1);

Advanced Control

Execute ADB commands. Method Definition

engine.executeAdbCommand(command, forwardOff)

Parameters

Parameter NameTypeRequiredDescription
commandstring✓ADB command to execute
forwardOffboolean✗Disable forwarding to multi-control room (effective only in multi-control), default true

Sample Code

// List root directory
engine.executeAdbCommand('cd /;ls');

Screenshot

Capture cloud phone screen. Method Definition

// Save screenshot locally
engine.saveScreenShotToLocal()
// Save screenshot to cloud phone
engine.saveScreenShotToRemote()

Return Value

MethodReturn TypeDescription
saveScreenShotToLocalPromise<ImageData>Screenshot image data
saveScreenShotToRemotevoidNo return

Sample Code

// Save screenshot locally
engine.saveScreenShotToLocal().then(imageData => {
  // Create canvas
  const canvas = document.createElement("canvas");
  canvas.width = imageData.width;
  canvas.height = imageData.height;
  const ctx = canvas.getContext("2d");
 
  // Draw image data
  ctx.putImageData(imageData, 0, 0);
 
  // Download image
  const link = document.createElement("a");
  link.href = canvas.toDataURL();
  link.download = "screenshot.png";
  link.click();
});
// Save screenshot to cloud phone gallery
engine.saveScreenShotToRemote();

Screen Resolution and DPI

Modify or restore screen resolution and DPI. Method Definition

engine.setScreenResolution(options, forwardOff)

Parameters

Parameter NameTypeRequiredDescription
options.widthnumber✗Width
options.heightnumber✗Height
options.dpinumber✗DPI
options.typestring✓Type: "updateDensity" (update), "resetDensity" (restore default; other options ignored)
forwardOffboolean✗Disable forwarding to multi-control room (effective only in multi-control), default true

Sample Code

// Update resolution and DPI
engine.setScreenResolution({
  width: 720,
  height: 1280,
  dpi: 360,
  type: 'updateDensity'
});
// Restore default
engine.setScreenResolution({
  type: 'resetDensity'
});

Multi-Control Features

Manage synchronized control of multiple cloud phones.

Sync Control

Pause or resume synchronization. Method Definition

engine.toggleGroupControlSync(flag)

Parameters

Parameter NameTypeRequiredDescription
flagboolean✓true to resume sync, false to pause

Sample Code

// Resume sync
engine.toggleGroupControlSync(true)
// Pause sync
engine.toggleGroupControlSync(false)

Join Multi-Control Room

Method Definition

engine.joinGroupRoom(pads)

Parameters

Parameter NameTypeRequiredDescription
padsstring[]✓Array of instance IDs to control

Sample Code

// Add multiple instances to multi-control
engine.joinGroupRoom(['ACXXXX', 'ACXXXX']);

Kick from Multi-Control Room

Method Definition

engine.kickItOutRoom(pads)

Parameters

Parameter NameTypeRequiredDescription
padsstring[]✓Array of instance IDs to kick

Sample Code

// Kick specific instances
engine.kickItOutRoom(['ACXXXX']);

Media Injection

Video Injection

Inject video into cloud phone camera. Method Definition

engine.injectVideoStream(
  type: "startVideoInjection" | "stopVideoInjection",
  options?: {
    fileUrl: string; // Video file path
    isLoop?: boolean; // Loop playback
    fileName?: string; // Video file name
  }
)

Parameter Description

Parameter NameTypeRequiredDescriptionDefault
typestring✓Operation: "startVideoInjection" or "stopVideoInjection"-
optionsObjectRequired when starting injectionInjection configuration-
options.fileUrlstring✓Video path (cloud internal or external URL)-
options.isLoopboolean✗Loop playbacktrue
options.fileNamestringRequired when fileUrl is URLVideo file name-

Technical Requirements

ItemRequirement
Supported FormatsH.264, H.265 encoding
ResolutionWidth and height must be multiples of 2

Sample Code

// Inject from URL
engine.injectVideoStream('startVideoInjection', {
  fileUrl: 'http://example.com/video.mp4',
  isLoop: true,
  fileName: 'video.mp4' // Required for URL
});
// Inject from cloud internal storage
engine.injectVideoStream('startVideoInjection', {
  fileUrl: '/sdcard/Downloads/video.mp4',
  isLoop: true
});
// Single playback
engine.injectVideoStream('startVideoInjection', {
  fileUrl: '/sdcard/Downloads/video.mp4',
  isLoop: false
});
// Stop injection
engine.injectVideoStream('stopVideoInjection');

Camera/Microphone Injection

Inject local camera and microphone into cloud phone. Method Definition

// Start injection
engine.startMediaStream(mediaType)
// Stop injection
engine.stopMediaStream(mediaType)

Parameters

Parameter NameTypeRequiredDescription
mediaTypenumber✓Media type: 1 (mic), 2 (camera), 3 (both)

Sample Code

// Start camera and mic injection
engine.startMediaStream(3);
// Start mic only
engine.startMediaStream(1);
// Start camera only
engine.startMediaStream(2);
// Stop camera
engine.stopMediaStream(2);
// Stop mic
engine.stopMediaStream(1);
// Stop all
engine.stopMediaStream(3);

Injection Status Query

Get media injection status. Method Definition

engine.getInjectStreamStatus(type, timeout)

Parameters

Parameter NameTypeRequiredDescriptionDefault
typestring✓Query type: "video", "camera", "audio"-
timeoutnumber✗Timeout (ms), 0 for no timeout0

Return Value Promise resolving to object with:

PropertyTypeDescription
typestringInjection type: "video", "camera", "audio"
statusstringStatus: "live" (streaming), "offline", "unknown", "timeout"
pathstringStream path (video injection only)

Sample Code

// Query video injection status
engine.getInjectStreamStatus("video").then(res => {
  console.log(`Type: ${res.type}`);
  console.log(`Status: ${res.status}`);
  if (res.path) {
    console.log(`Path: ${res.path}`);
  }
});
// Query camera status with 5s timeout
engine.getInjectStreamStatus("camera", 5000).then(res => {
  console.log(`Type: ${res.type}`);
  console.log(`Status: ${res.status}`);
});
Prev
Example Build
Next
H5 SDK Callback Functions