flutter_silk 1.0.5
flutter_silk: ^1.0.5 copied to clipboard
A flutter ffi plugin for converting audio from silk to pcm/mp3.
flutter_silk #
A flutter ffi plugin for converting audio from silk to pcm/mp3. Support Macos, Ios, Linux, Windows and Android.
Usage #
final silkData = File("input.silk").readAsBytesSync();
var output = silkToMp3(silkData);
File("output.mp3").writeAsBytesSync(output!);
For a complete example, please go to /example folder.
Project structure #
This template uses the following structure:
-
src: Contains the native source code, and a CmakeFile.txt file for building that source code into a dynamic library. -
lib: Contains the Dart code that defines the API of the plugin, and which calls into the native code usingdart:ffi. -
platform folders (
android,ios,windows, etc.): Contains the build files for building and bundling the native code library with the platform application.
Binding to native code #
To use the native code, bindings in Dart are needed.
To avoid writing these by hand, they are generated from the header file
(src/flutter_silk.h) by package:ffigen.
Regenerate the bindings by running flutter pub run ffigen --config ffigen.yaml.
Invoking native code #
Very native functions can be directly invoked from any isolate.
For example, see silkToPcm pcmToMp3 silkToMp3 in lib/flutter_silk.dart.