final filePath ='path/to/my.mp4';
final outputPath ='path/to/';
result =NyxConverter.convertTo(
bitrate:NyxBitrate.k320, // Set the bitrate in kbps (optional)
);
final filePath ='path/to/my.mp4';
final outputPath ='path/to/';
result =NyxConverter.convertTo(
frequency:NyxFrequency.hz48000, // Specify the sampling frequency in Hz (optional)
);
I tried to add the package to my Flutter app, to only use it on iOS to convert OGG files to something that can be played there. But now on Android the build fails with this output:
WARNING: [Processor] Library '/home/runner/.gradle/caches/modules-2/files-2.1/androidx.media2/media2-session/1.2.1/f927563711e36371c19b2e86fb7ccf1c3f259ca4/media2-session-1.2.1.aar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
Example of androidX reference: 'androidx/media2/session/MediaBrowser$Builder'
Example of support library reference: 'android/support/v4/media/session/MediaSessionCompat$Token'
[...]
Note: Recompile with -Xlint:deprecation for details.
/usr/local/lib/android/sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip: error: '/home/runner/work/fluffychat/fluffychat/build/app/intermediates/merged_native_libs/debug/out/lib/x86_64/libflutter.so': '/home/runner/work/fluffychat/fluffychat/build/app/intermediates/stripped_native_libs/debug/out/lib/x86_64/libflutter.so': No space left on device
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:stripDebugDebugSymbols'.
> There was a failure while executing work items
> A failure occurred while executing com.android.build.gradle.internal.tasks.StripDebugSymbolsRunnable
> /home/runner/work/fluffychat/fluffychat/build/app/intermediates/merged_native_libs/debug/out/lib/x86_64/libflutter.so -> /home/runner/work/fluffychat/fluffychat/build/app/intermediates/stripped_native_libs/debug/out/lib/x86_64/libflutter.so: No space left on device
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org/
BUILD FAILED in 7m 11s
Running Gradle task 'assembleDebug'... 432.3s
Gradle task assembleDebug failed with exit code 1
Error: Process completed with exit code 1.
So the problem seems to be that there is "no space left on device"? When I remove the package, the problem is solved. Does this package somehow need a lot of space when compiling on Android? This logs are from Github actions where I use the default VMs so I don't have much flexibility to increase the space...
I tried:
set minSdkVersion from 21->24.
Add ext.flutterFFmpegPackage = 'audio-lts' to build.gradle
Add tools:overrideLibrary="com.arthenica.ffmpegkit.flutter to the manifest file
Flutter doctor -v output:
[✓] Flutter (Channel stable, 3.22.3, on macOS 14.5 23F79 darwin-arm64, locale de-DE)
• Flutter version 3.22.3 on channel stable at /Users/christianpauly/develop/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision b0850beeb2 (vor 3 Wochen), 2024-07-16 21:43:41 -0700
• Engine revision 235db911ba
• Dart version 3.4.4
• DevTools version 2.34.3
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0-rc4)
• Android SDK at /Users/christianpauly/Library/Android/sdk
• Platform android-34, build-tools 35.0.0-rc4
• ANDROID_HOME = /Users/christianpauly/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15F31d
• CocoaPods version 1.15.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2023.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
[✓] VS Code (version 1.91.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.94.0
[✓] Connected device (5 available)
• iPhone (mobile) • 00008030-001E11C12683802E • ios • iOS 17.6 21G80
• Kußowski iPad (mobile) • 00008101-000215D40A99001E • ios • iOS 17.6 21G80
• macOS (desktop) • macos • darwin-arm64 • macOS 14.5 23F79
darwin-arm64
• Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin • macOS 14.5 23F79
darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome
127.0.6533.89
[✓] Network resources
• All expected network resources are available.
• No issues found!
final filePath ='path/to/my.mp4';
final outputPath ='path/to/';
result =NyxConverter.convertTo(
channelLayout:NyxChannelLayout.stereo // Define the number of channels (optional)
);
final filePath ='path/to/my.mp4';
final outputPath ='path/to/';
result =NyxConverter.convertTo(
audioCodec:NyxAudioCodec.flac, // Define the audio codec (optional)
);
final filePath ='path/to/my.mp4';
final outputPath ='path/to/';
result =NyxConverter.convertTo(
videoCodec:NyxVideoCodec.h264, // Specify the video codec (optional)l)
);
final filePath ='path/to/my.mp4';
final outputPath ='path/to/';
result =NyxConverter.convertTo(
size:NyxSize.w1280h720, // Set the width and height in pixels (optional)
);
Add subscribe functionality for receive percent, time, and isDone values.
NyxCoverter.convertTo$.subscribe((int percent, int time, bool isDone) {
printDebug('percent on complition $percent');
printDebug('time of file process $time');
printDebug('process is done $isDone');
});