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 | ValueListenable<int> | Capture volume, with a value range from 0 to 100. Deprecated, use microphoneVolume instead. |
currentMicVolume | ValueListenable<int> | Current user's actual output volume. Deprecated, use microphoneInputLevel instead. |
outputVolume | ValueListenable<int> | Maximum output volume, with a value range from 0 to 100. Deprecated, use speakerVolume instead. |
cameraStatus | Camera status. | |
cameraLastError | Camera error, used to extract error information when an error occurs. | |
isFrontCamera | ValueListenable<bool> | Whether it's front camera. |
localMirrorType | Mirror state. | |
localVideoQuality | Local video quality. | |
currentAudioRoute | Current audio route location. Deprecated, use currentSpeaker instead. | |
screenStatus | Screen sharing status. Deprecated, use ScreenShareStore.state.screenStatus instead. | |
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 | ValueListenable<int> | Microphone capture volume, with a value range from 0 to 100. |
microphoneInputLevel | ValueListenable<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 | ValueListenable<int> | Speaker playback volume, with a value range from 0 to 100. |
speakerOutputLevel | ValueListenable<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. |
Future<CompletionHandler> openLocalMicrophone();
Parameter | Type | Description |
completion | CompletionClosure? | Whether operation succeeded. |
void closeLocalMicrophone();
void setMicrophoneVolume(int volume);
Parameter | Type | Description |
volume | int | Capture volume, with a value range from 0 to 100. |
void setSpeakerVolume(int volume);
Parameter | Type | Description |
volume | int | Playback volume, with a value range from 0 to 100. |
void setCurrentMicrophone(DeviceInfo microphone);
Parameter | Type | Description |
microphone | Microphone device, an element of microphoneList. |
void startMicrophoneTest(int interval);
Parameter | Type | Description |
interval | int | Capture interval in milliseconds. Default is 200ms. |
void stopMicrophoneTest();
void setCurrentSpeaker(DeviceInfo speaker);
Parameter | Type | Description |
speaker | Speaker device, an element of speakerList. |
void startSpeakerTest(String filePath);
Parameter | Type | Description |
filePath | String | Audio file path used for the test playback. Required; an empty value returns an invalid-parameter error. |
void stopSpeakerTest();
Future<CompletionHandler> startCameraTest(int cameraViewId);
Parameter | Type | Description |
cameraViewId | int | Render view id for camera capture, obtained from CameraView.onViewCreated. Pass 0 to set no render target. |
completion | CompletionClosure? | Whether operation succeeded. |
void stopCameraTest();
Future<CompletionHandler> openLocalCamera(bool isFront);
Parameter | Type | Description |
isFront | bool | Whether front camera. |
completion | CompletionClosure? | Whether operation succeeded. |
void closeLocalCamera();
void setCurrentCamera(DeviceInfo camera);
Parameter | Type | Description |
camera | Camera device, an element of cameraList. |
void switchMirror(MirrorType mirrorType);
Parameter | Type | Description |
mirrorType | Mirror state. |
void updateVideoQuality(VideoQuality quality, {VideoOrientation orientation = 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.')void setCaptureVolume(int volume);
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.')void setOutputVolume(int volume);
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.')void setAudioRoute(AudioRoute route);
Parameter | Type | Description |
route | Route location. On mobile platforms speakerList contains the speaker and the earpiece, so setCurrentSpeaker covers this capability. |
@Deprecated('Use setCurrentCamera instead. Will be removed in version 5.5.')void switchCamera(bool isFront);
Parameter | Type | Description |
isFront | bool | Whether front camera. |
void reset();
Enum Value | Value | Description |
microphone | 1 | Microphone type. |
camera | 2 | Camera type. |
screenShare | 3 | Screen sharing type. |
Enum Value | Value | Description |
noError | 0 | Operation successful. |
noDeviceDetected | 1 | No device detected. |
noSystemPermission | 2 | No system permission. |
notSupportCapture | 3 | Capture not supported. |
occupiedError | 4 | Device occupied. |
unknownError | 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 |
quality360P | 1 | 360P. Landscape resolution is 640 x 360; portrait (width and height swapped) is 360 x 640. |
quality540P | 2 | 540P. Landscape resolution is 960 x 540; portrait (width and height swapped) is 540 x 960. |
quality720P | 3 | 720P. Landscape resolution is 1280 x 720; portrait (width and height swapped) is 720 x 1280. |
quality1080P | 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. |
veryBad | 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 | ValueListenable<int> | Capture volume, with a value range from 0 to 100. Deprecated, use microphoneVolume instead. |
currentMicVolume | ValueListenable<int> | Current user's actual output volume. Deprecated, use microphoneInputLevel instead. |
outputVolume | ValueListenable<int> | Maximum output volume, with a value range from 0 to 100. Deprecated, use speakerVolume instead. |
cameraStatus | Camera status. | |
cameraLastError | Camera error, used to extract error information when an error occurs. | |
isFrontCamera | ValueListenable<bool> | Whether it's front camera. |
localMirrorType | Mirror state. | |
localVideoQuality | Local video quality. | |
currentAudioRoute | Current audio route location. Deprecated, use currentSpeaker instead. | |
screenStatus | Screen sharing status. Deprecated, use ScreenShareStore.state.screenStatus instead. | |
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 | ValueListenable<int> | Microphone capture volume, with a value range from 0 to 100. |
microphoneInputLevel | ValueListenable<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 | ValueListenable<int> | Speaker playback volume, with a value range from 0 to 100. |
speakerOutputLevel | ValueListenable<int> | Speaker real-time output level value, range 0-100. |
// Get singleton instancelet store = DeviceStore.shared// Subscribe to state changesstore.state.subscribe { state inprint("Microphone status: \\(state.microphoneStatus)")print("Camera status: \\(state.cameraStatus)")print("Network quality: \\(state.networkInfo.quality)")}// Open microphonestore.openLocalMicrophone { code, message inif code == 0 {print("Microphone opened successfully")}}// Open front camerastore.openLocalCamera(isFront: true) { code, message inif code == 0 {print("Camera opened successfully")}}
フィードバック