Using an Audio Library in a Flutter project? - flutter

I'm considering building my app with Flutter because of the attractive cross-compilation features, native feel, and speed of development.
I need to use an advanced audio processing library to be able to make my app, so the options I was considering are either to use JUCE through CocoaPods (a C++ audio library) or AudioKit (a Swift audio library) with Flutter.
I think JUCE is definitely possible to use with Flutter as I've seen two github projects which seemed to implement it (https://github.com/audiooffler/JucyFluttering and https://github.com/tomduncalf/juce-flutter-integration). I haven't been able to get it running on my own setup though, the build succeeds but when I use the first link (JucyFluttering) but I get an error as follows: https://justpaste.it/9c8xe. I've tried to look into it for a while and couldn't figure out what is going wrong. If anyone has an idea or approach to move from here
The other option I was considering is building an iOS only app for my prototype using Flutter and AudioKit (Swift-based), and then reusing the Flutter UI code with JUCE when I want to move to cross-platform. However, I'm totally clueless on how to go about bringing AudioKit into my Flutter project. The library is not on pub.dev so including it in my pubspec.yaml file, I get the following: "Because audiokit_flutter depends on audiokit any which doesn't exist (could not find package audiokit at https://pub.dartlang.org), version solving failed." when I try to run "flutter pub get".
I'm not even sure if the AudioKit approach is viable, but if anyone has any relevant knowledge, please share it with me! I've been trying to figure this out for weeks and it has been very frustrating! I would very very much appreciate the help.
Thank you so much!

Related

Flutter Basics (write once, run anywhere?)

Hi stack overflow community,
I'm a novice programmer in high school and have never written an app for mobile devices before so please bear with me. If I was to write an app using Flutter, will I only be required to write the code once and then be able to distribute different versions of it (iOS, macOS, Windows, Linux, Android, etc)? Or will I need to make small changes for each version such as using XCode to create the iOS version and Android Studio for the Android version? I know this is such a basic question but I've spent a couple of hours looking this stuff up and I'm still confused. Any help would be nice.
Thanks,
Daniel
In a product development environment, after writing the cross-platform code with Flutter, there are some need-to-do tasks related to Native environment.
In the case of Android, there are several cases when you'll need to touch the Native level such as config Firestore settings, Social authentication (Login with Facebook for example), changing the launch icons/ splash screen of the app or publishing to app store, etc
For iOS, the same case apply as well. So I suggest you start with small steps to develop the app first, then when running into something that seems impossible with just Flutter code, there are tutorials and SO to guide you through. It might seem overwhelmed at first, but we are all on a journey, so no need to rush it ;)
You should make small changes too. For eg when adding launcher icons and splash screen you have to edit the respective native folders. When distributing for ios you need to manually customize its Runner from xcode. There are many library that support either android only or ios only. In that case if you need that feature you have to make changes in native code like java ans swift.
if you're creating your own native plugins, you will have unique code to write. But if you're just using things out of pub, almost nothing will require change (unless you are publishing to the store).

is it possible to embed an ionic application within a flutter application?

To be more precise, I already have a huge app writen in Ionic and now we're considering to migrate it to flutter, but we can't rewrite it from scratch, both ionic and flutter should coexist.
So my question is: can I have a flutter app as a "host" and import / run the ionic app inside it? Something like a micro frontend.
Until now I was able to build the target ionic app and import it on the flutter app, under android folder, but it does not feels like a productive way to approach the problem.
I also googled a little bit about this integration, but did not find anything that solves this problem.
I appreciate any help on this topic.
Yes, it is possible, but very cumbersome.
I did it for a project and embedded 3 ionic apps inside flutter.
I'll not list every problem that i faced but just go through some points to give you an idea.
You will need to take care of some cordova plugins that use native code, for Android copy and paste some folders like CordovaLib,cordova and use it as a library. For iOS you must add the plugin files like *.h to the compiles list inside Xcode and create an Pod to get the cordova resources (that's the way i did)
To "launch" the app for android you need to start the cordova activity and for iOS you need to play with UINavigationController and FlutterViewController, and of course create a method channel to be possible to call it from Flutter.
For multiple apps, you have to mess inside de cordova code to get the app from the right www folder and be sure to equalize every plugin version between apps.
Some packages from flutter may clash with ionic/cordova libs
Every change you do to your ionic application it must be tested outside flutter and within it to see if there's any mismatch behavior that you didn't expect, specially when adding new plugins.
Maybe some permission issues will arrive between applications like camera or localization.
I know thats not the answer, but when searching on how to do it, i stumbled upon this question a few months ago and it still without any answer on this problem.
But my final take is that the effort of joining together all pieces using multiple languages and frameworks together with the job of maintaining this spaghetti behemoth is not worth it and you'll save yourself of a tremendous headache.

flutter P2P communication over the network

I read this Android specific article and was wondering if some applications existed for Flutter aswell.
I know it is possible to run native code in Flutter, but I'd prefer a Dart native solution. I've noticed this package on pub.dev but I cannot make it work.
I've followed the posted example but I get a MissingPluginException for every call the plugin executes.
Yes You can do it by using this package .
https://pub.dev/packages/flutter_nearby_connections

Flutter - Am I able to creat a module with Flutter and use it in my iOS and Android projects?

In my company, we are working on a huge product. We have a repo for the Android project and also we have another repo for the iOS project.
I think it is impossible to rewrite the whole of the project in Flutter. So, something that popped in my mind but I am not sure if it is feasible. Each Android/iOS project contains many modules. I am working on a module called Enterprise. It has its own Activities, Fragments and business logic. So, my question is, Am I able to consider this module as a black box (it has a few inputs that are coming from the other modules and a few outputs that will be presented in the app module) and make it by Flutter. Then I will use its .aar version in the Android project as well as the iOS project.
Does an implementation like this is feasible?
Okay, I found Flutter is thinking of a way to solve this issue. I found two links that might be useful to you, too:
Add Flutter to existing apps. According to this page, "The "add-to-app" support is in preview, and is so far only available on the master channel.".
Integrating Flutter into an Existing App.
I will be more than happy to accept your answer if you have a better approach.

Is there any built in flutter library for 2D bar-code scanner?

I am developing a mobile application with Flutter framework and I want to scan bill bar-code and extract its code, so I need a bar-code scanner library for my app. Actually I've googled and found some libraries and SDKs, but they are not written in Dart and I have to import and implement them separately for Android and iOS directories, also it has lots of effort for me to import native codes to a Flutter project. Now I have following questions:
Is there any Dart written and Flutter compatible package, library, SDk, API or ... to use in Flutter project?
Hasn't Google made Flutter version of its ML-KIT or Google-Vision SDKs for its own multi platform framework?
Thanks in advance for helping me.
There are no direct flutter widgets available which supports Barcode reading as of now.
Anyway you can use firebase_ml_vision plugin which pretty straight forward and easy to integrate.
https://pub.dartlang.org/packages/firebase_ml_vision
There is, but I haven't ever used it myself. Just searched it on here: https://pub.dartlang.org/flutter
https://pub.dartlang.org/packages/barcode_scan or maybe this https://pub.dartlang.org/packages/barcode_flutter