DeviceStore provides a comprehensive set of APIs to manage audio and video devices, including microphone, camera and screen sharing features.DeviceStore instance. Do not attempt to initialize directly.Property | Type | Description |
microphoneStatus | Microphone status. | |
microphoneLastError | Microphone error, used to extract error information when an error occurs. | |
captureVolume | StateFlow<Int> | Capture volume, with a value range from 0 to 100. |
currentMicVolume | StateFlow<Int> | Current user's actual output volume. |
outputVolume | StateFlow<Int> | Maximum output volume, with a value range from 0 to 100. |
cameraStatus | Camera status. | |
cameraLastError | Camera error, used to extract error information when an error occurs. | |
isFrontCamera | StateFlow<Boolean> | Whether it's front camera. |
localMirrorType | Mirror state. | |
localVideoQuality | Local video quality. | |
currentAudioRoute | Current audio route location. | |
screenStatus | Screen sharing status. | |
networkInfo | Network information. | |
networkType | Current network type. | |
microphoneList | Current microphone device list. Only populated on desktop platforms, it is empty on mobile platforms. | |
currentMicrophone | Current microphone device, an empty deviceId means no microphone is selected. | |
microphoneVolume | StateFlow<Int> | Microphone capture volume, with a value range from 0 to 100. |
microphoneInputLevel | StateFlow<Int> | Real-time level value used to display the microphone volume bar, range 0-100. |
cameraList | Camera device list. On desktop platforms it contains all the cameras, on mobile platforms it contains the logical front camera and rear camera. | |
currentCamera | Current camera device, an empty deviceId means no camera is selected. | |
speakerList | Speaker device list. On desktop platforms it contains all the speakers, on mobile platforms it contains the logical speaker and earpiece. | |
currentSpeaker | Current speaker device, an empty deviceId means no speaker is selected. | |
speakerVolume | StateFlow<Int> | Speaker playback volume, with a value range from 0 to 100. |
speakerOutputLevel | StateFlow<Int> | Speaker real-time output level value, range 0-100. |
Function | Description |
Singleton object. | |
Open local microphone. | |
Close local microphone. | |
Set microphone capture volume. | |
Set speaker playback volume. | |
Select microphone device. | |
Start microphone test. | |
Stop microphone test. | |
Select speaker device. | |
Start speaker test. | |
Stop speaker test. | |
Start camera test. | |
Stop camera test. | |
Open local camera. | |
Close local camera. | |
Select camera device. | |
Switch mirror state. | |
Update video quality. | |
Set capture volume, use setMicrophoneVolume instead. | |
Set output volume, use setSpeakerVolume instead. | |
Set audio route, use setCurrentSpeaker instead. | |
Switch camera, use setCurrentCamera instead. | |
Reset to default state. |
abstract fun openLocalMicrophone(completion: CompletionHandler?)
Parameter | Type | Description |
completion | Whether operation succeeded. |
abstract fun closeLocalMicrophone()
abstract fun setMicrophoneVolume(volume: Int)
Parameter | Type | Description |
volume | Int | Capture volume, with a value range from 0 to 100. |
abstract fun setSpeakerVolume(volume: Int)
Parameter | Type | Description |
volume | Int | Playback volume, with a value range from 0 to 100. |
abstract fun setCurrentMicrophone(microphone: DeviceInfo)
Parameter | Type | Description |
microphone | Microphone device, an element of microphoneList. |
abstract fun startMicrophoneTest(interval: Int)
Parameter | Type | Description |
interval | Int | Capture interval in milliseconds. Default is 200ms. |
abstract fun stopMicrophoneTest()
abstract fun setCurrentSpeaker(speaker: DeviceInfo)
Parameter | Type | Description |
speaker | Speaker device, an element of speakerList. |
abstract fun startSpeakerTest(filePath: String)
Parameter | Type | Description |
filePath | String | Audio file path used for the test playback. Required; an empty value returns an invalid-parameter error. |
abstract fun stopSpeakerTest()
abstract fun startCameraTest(cameraView: CameraView, completion: CompletionHandler?)
Parameter | Type | Description |
cameraView | Render view id for camera capture, obtained from CameraView.onViewCreated. Pass 0 to set no render target. | |
completion | Whether operation succeeded. |
abstract fun stopCameraTest()
abstract fun openLocalCamera(isFront: Boolean, completion: CompletionHandler?)
Parameter | Type | Description |
isFront | Boolean | Whether front camera. |
completion | Whether operation succeeded. |
abstract fun closeLocalCamera()
abstract fun setCurrentCamera(camera: DeviceInfo)
Parameter | Type | Description |
camera | Camera device, an element of cameraList. |
abstract fun switchMirror(mirrorType: MirrorType)
Parameter | Type | Description |
mirrorType | Mirror state. |
abstract fun updateVideoQuality(quality: VideoQuality, orientation: VideoOrientation = VideoOrientation.PORTRAIT)
Parameter | Type | Description |
quality | Video quality. | |
orientation | Video orientation. Defaults to portrait. Pass landscape to use the base (width x height) resolution. |
@Deprecated("Use setMicrophoneVolume instead. Will be removed in version 5.5.")abstract fun setCaptureVolume(volume: Int)
Parameter | Type | Description |
volume | Int | Capture volume, with a value range from 0 to 100. |
@Deprecated("Use setSpeakerVolume instead. Will be removed in version 5.5.")abstract fun setOutputVolume(volume: Int)
Parameter | Type | Description |
volume | Int | Maximum volume, with a value range from 0 to 100. |
@Deprecated("Use setCurrentSpeaker instead. Will be removed in version 5.5.")abstract fun setAudioRoute(audioRoute: AudioRoute)
Parameter | Type | Description |
audioRoute | Route location. |
@Deprecated("Use setCurrentCamera instead. Will be removed in version 5.5.")abstract fun switchCamera(isFront: Boolean)
Parameter | Type | Description |
isFront | Boolean | Whether front camera. |
abstract fun reset()
Enum Value | Value | Description |
MICROPHONE | 1 | Microphone type. |
CAMERA | 2 | Camera type. |
SCREEN_SHARE | 3 | Screen sharing type. |
Enum Value | Value | Description |
NO_ERROR | 0 | Operation successful. |
NO_DEVICE_DETECTED | 1 | No device detected. |
NO_SYSTEM_PERMISSION | 2 | No system permission. |
NOT_SUPPORT_CAPTURE | 3 | Capture not supported. |
OCCUPIED_ERROR | 4 | Device occupied. |
UNKNOWN_ERROR | 5 | Unknown error. |
Enum Value | Value | Description |
OFF | 0 | Off. |
ON | 1 | On. |
Enum Value | Value | Description |
SPEAKERPHONE | 0 | Speaker, using speaker to play (i.e., "hands-free"), located at the bottom of the phone, louder sound, suitable for playing music out loud. |
EARPIECE | 1 | Earpiece, using earpiece to play, located at the top of the phone, quieter sound, suitable for private call scenarios. |
Enum Value | Value | Description |
QUALITY_360P | 1 | 360P. Landscape resolution is 640 x 360; portrait (width and height swapped) is 360 x 640. |
QUALITY_540P | 2 | 540P. Landscape resolution is 960 x 540; portrait (width and height swapped) is 540 x 960. |
QUALITY_720P | 3 | 720P. Landscape resolution is 1280 x 720; portrait (width and height swapped) is 720 x 1280. |
QUALITY_1080P | 4 | 1080P. Landscape resolution is 1920 x 1080; portrait (width and height swapped) is 1080 x 1920. |
Enum Value | Value | Description |
LANDSCAPE | 0 | Landscape, the encoding resolution width is greater than the height (e.g. 1280 x 720). |
PORTRAIT | 1 | Portrait, the encoding resolution height is greater than the width (e.g. 720 x 1280). |
Enum Value | Value | Description |
UNKNOWN | 0 | Unknown network. |
EXCELLENT | 1 | Excellent. |
GOOD | 2 | Good. |
POOR | 3 | Poor. |
BAD | 4 | Bad. |
VERY_BAD | 5 | Very bad. |
DOWN | 6 | Disconnected. |
Enum Value | Value | Description |
AUTO | 0 | Auto, front camera mirrored, rear camera not mirrored. |
ENABLE | 1 | Both front and rear cameras mirrored. |
DISABLE | 2 | Neither front nor rear camera mirrored. |
Enum Value | Value | Description |
UNKNOWN | 0 | Unknown or unidentified network type. |
WIFI | 1 | WiFi network connection. |
CELLULAR | 2 | Cellular/mobile data network connection. |
Property | Type | Description |
deviceId | String | Device ID. |
deviceName | String | Device name. |
Property | Type | Description |
userID | String | User unique ID. |
quality | Network quality. | |
upLoss | Int | Uplink packet loss rate, with a value range from 0 to 100. |
downLoss | Int | Downlink packet loss rate, with a value range from 0 to 100. |
delay | Int | Latency (unit: milliseconds). |
Property | Type | Description |
microphoneStatus | Microphone status. | |
microphoneLastError | Microphone error, used to extract error information when an error occurs. | |
captureVolume | StateFlow<Int> | Capture volume, with a value range from 0 to 100. |
currentMicVolume | StateFlow<Int> | Current user's actual output volume. |
outputVolume | StateFlow<Int> | Maximum output volume, with a value range from 0 to 100. |
cameraStatus | Camera status. | |
cameraLastError | Camera error, used to extract error information when an error occurs. | |
isFrontCamera | StateFlow<Boolean> | Whether it's front camera. |
localMirrorType | Mirror state. | |
localVideoQuality | Local video quality. | |
currentAudioRoute | Current audio route location. | |
screenStatus | Screen sharing status. | |
networkInfo | Network information. | |
networkType | Current network type. | |
microphoneList | Current microphone device list. Only populated on desktop platforms, it is empty on mobile platforms. | |
currentMicrophone | Current microphone device, an empty deviceId means no microphone is selected. | |
microphoneVolume | StateFlow<Int> | Microphone capture volume, with a value range from 0 to 100. |
microphoneInputLevel | StateFlow<Int> | Real-time level value used to display the microphone volume bar, range 0-100. |
cameraList | Camera device list. On desktop platforms it contains all the cameras, on mobile platforms it contains the logical front camera and rear camera. | |
currentCamera | Current camera device, an empty deviceId means no camera is selected. | |
speakerList | Speaker device list. On desktop platforms it contains all the speakers, on mobile platforms it contains the logical speaker and earpiece. | |
currentSpeaker | Current speaker device, an empty deviceId means no speaker is selected. | |
speakerVolume | StateFlow<Int> | Speaker playback volume, with a value range from 0 to 100. |
speakerOutputLevel | StateFlow<Int> | Speaker real-time output level value, range 0-100. |
// Get singleton instanceval store = DeviceStore.shared()// Subscribe to state changeslifecycleScope.launch {store.deviceState.microphoneStatus.collect { status ->println("Microphone status: $status")}}lifecycleScope.launch {store.deviceState.cameraStatus.collect { status ->println("Camera status: $status")}}// Open microphonestore.openLocalMicrophone { code, message ->if (code == 0) {println("Microphone opened successfully")}}// Open front camerastore.openLocalCamera(isFront = true) { code, message ->if (code == 0) {println("Camera opened successfully")}}
Esta página foi útil?
Você também pode entrar em contato com a Equipe de vendas ou Enviar um tíquete em caso de ajuda.
comentários