Truvideo Camera SDK
This plugin integrates TruvideoCameraSdk for capturing photos and videos.
Supported Platforms
- ✅ Android
- ✅ iOS
Features
- Opens the camera with configurations
- Supports front/rear camera selection
- Captures images and records videos
- Handles camera events
- AR Camera with augmented reality overlays (iOS: ARKit, Android: ARCore)
- Smart Scanner QR/barcode detection
- Check AR hardware support and required AR framework installation
Requirements
- Flutter SDK
- TruvideoCameraSdk Plugin
Setup
- Add TruvideoCameraSdk Plugin to your project.
- Install dependencies:
flutter pub get - Ensure proper permissions in
AndroidManifest.xml&Info.plist. - Run the app:
flutter run
Usage
-
Listen to camera events:
TruvideoCameraSdk.events.listen((event) { print("Event: \${event.type}, Data: \${event.data?.toJson()}"); }); -
Open camera:
Future<void> openCamera(String outputPath) async {
final config = CameraConfiguration(
lensFacing: TruvideoSdkCameraLensFacing.back,
flashMode: TruvideoSdkCameraFlashMode.off,
orientation: TruvideoSdkCameraOrientation.portrait,
outputPath: outputPath ?? '',
mode: CameraMode.videoAndImage(
videoMaxCount: 3,
imageMaxCount: 5,
durationLimit: 5000, // Video duration limit (in Milliseconds),
),
);
try {
List<TruvideoSdkCameraMedia> result = await TruvideoCameraSdk.openCamera(
configuration: config,
);
for (var media in result) {
print('Captured: ${media.filePath} – ${media.type}');
}
} on PlatformException catch (e) {
print('Camera error: ${e.message}');
}
}
- Open AR Camera
Future<void> openARCamera(String outputPath) async {
final config = ArCameraConfiguration(
orientation: TruvideoSdkCameraOrientation.portrait,
outputPath: outputPath,
mode:CameraMode.videoAndImage(),
);
try {
List<TruvideoSdkCameraMedia> result =
await TruvideoCameraSdk.openArCamera(configuration: config);
for (var media in result) {
print('Captured: ${media.filePath} – ${media.type}');
}
} on PlatformException catch (e) {
print('AR Camera error: ${e.message}');
}
}
- Open Scanner
Future<void> openScanner() async {
try {
String? result = await TruvideoCameraSdk.openScanner();
if (result != null) {
print('Result text: $result');
} else {
print('Result not found or scanner cancelled by user');
}
} on PlatformException catch (e) {
print('Scanner error: ${e.message}');
}
}
License
MIT
Support
If you have any questions or suggestions regarding the SDK, please contact us at [email protected].
Libraries
- ar_camera_configuration
- camera_configuration
- camera_mode
- truvideo_camera_sdk
- truvideo_camera_sdk_method_channel
- truvideo_camera_sdk_platform_interface
- truvideo_sdk_camera_event
- truvideo_sdk_camera_event_camera_flipped
- truvideo_sdk_camera_event_data
- truvideo_sdk_camera_event_flash_mode_changed
- truvideo_sdk_camera_event_media_continue
- truvideo_sdk_camera_event_media_deleted
- truvideo_sdk_camera_event_media_discard
- truvideo_sdk_camera_event_picture_taken
- truvideo_sdk_camera_event_recording_finished
- truvideo_sdk_camera_event_recording_paused
- truvideo_sdk_camera_event_recording_resumed
- truvideo_sdk_camera_event_recording_started
- truvideo_sdk_camera_event_resolution_changed
- truvideo_sdk_camera_event_zoom_changed
- truvideo_sdk_camera_flash_mode
- truvideo_sdk_camera_lens_facing
- truvideo_sdk_camera_media
- truvideo_sdk_camera_mode_type
- truvideo_sdk_camera_orientation
- truvideo_sdk_camera_resolution