Skip to content

Commit 250ffd1

Browse files
committed
feature: added macOS support
1 parent b94cc70 commit 250ffd1

36 files changed

+1728
-5
lines changed

example/lib/main.dart

+15-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import 'package:flutter/material.dart';
22
import 'package:image_picker/image_picker.dart';
33
import 'package:video_compress/video_compress.dart';
4+
import 'package:file_selector/file_selector.dart';
5+
import 'dart:io';
46

57
void main() {
68
runApp(MyApp());
@@ -61,15 +63,26 @@ class _MyHomePageState extends State<MyHomePage> {
6163
),
6264
floatingActionButton: FloatingActionButton(
6365
onPressed: () async {
64-
final file =
65-
await ImagePicker().getVideo(source: ImageSource.gallery);
66+
var file;
67+
if (Platform.isMacOS) {
68+
final typeGroup = XTypeGroup(label: 'videos', extensions: ['mov', 'mp4']);
69+
file = await openFile(acceptedTypeGroups: [typeGroup]);
70+
} else {
71+
final picker = ImagePicker();
72+
PickedFile pickedFile = await picker.getVideo(source: ImageSource.gallery);
73+
file = File(pickedFile.path);
74+
}
75+
if (file == null) {
76+
return;
77+
}
6678
await VideoCompress.setLogLevel(0);
6779
final info = await VideoCompress.compressVideo(
6880
file.path,
6981
quality: VideoQuality.MediumQuality,
7082
deleteOrigin: false,
7183
includeAudio: true,
7284
);
85+
print(info.path);
7386
if (info != null) {
7487
setState(() {
7588
_counter = info.path;

example/macos/.gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Flutter-related
2+
**/Flutter/ephemeral/
3+
**/Pods/
4+
5+
# Xcode-related
6+
**/xcuserdata/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2+
#include "ephemeral/Flutter-Generated.xcconfig"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2+
#include "ephemeral/Flutter-Generated.xcconfig"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
//
2+
// Generated file. Do not edit.
3+
//
4+
5+
import FlutterMacOS
6+
import Foundation
7+
8+
import file_selector_macos
9+
import video_compress
10+
11+
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
12+
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
13+
VideoCompressPlugin.register(with: registry.registrar(forPlugin: "VideoCompressPlugin"))
14+
}

0 commit comments

Comments
 (0)