Giter Site home page Giter Site logo

flutterexampleapps's Introduction

Image

Show some ❤️ and star the repo to support the project

GitHub stars GitHub forks GitHub watchers GitHub followers
Twitter Follow

This repository containing links of all the example apps demonstrating features/functionality/integrations in Flutter application development.

YouTube Channel

MTechViral

Facebook Group

Let's Flutter With Dart

Some Screenshots

Flutter Example Apps (Source Code + YouTube Link)

Clones/Apps

  1. Flutter WhatsApp Clone Appwatch

  2. Flutter Instagram Clone Appwatch

  3. Flutter Build a Beautiful Pokemon App - Englishwatch

  4. Flutter Build a Beautiful Pokemon App - Hindiwatch

  5. Flutter Responsive Game of Thrones Flutter Appwatch

  6. Flutter: Quiz Appwatch

  7. Flutter StackOverflow Appwatch

  8. Flutter Gender Prediction Appwatch

  9. Flutter Cocktail Appwatch

  10. Flutter Gif Search Engine Appwatch

  11. Flutter QuotesX Appwatch

Flutter For Web / Desktop / Responsive

  1. Flutter For Web: Getting Started | Migrating PokemonApp to Webwatch

  2. Flutter Web: Making a Responsive Portfolio App | Part 1watch

  3. Flutter Web: Deploying Portfolio App To Github.IO | Peanut Tutorial | Part 2watch

  4. Flutter Web: Deploying Flutter UIKit to Github Pages | Peanut Tutorialwatch

  5. Flutter Web : Flutter 1.10 Adding Web Support For New & Existing Projectswatch

  6. Flutter Web Desktop Cocktail Appwatch

  7. Flutter PWA Tutorial - 1/2watch

  8. Flutter Official PWA Support - 2/2watch

  9. Flutter Responsive Portfolio App | Flutter Mobile, Web, & Desktop | SpeedX Codewatch

Flutter Designs

  1. Adobe XD Flutter Early Access Tutorial | Getting Startedwatch

  2. Beautiful Nike Web Design Concept With Flutterwatch

Beginners & Intermediate

  1. Flutter Devfest Appwatch

  2. Flutter Firebase MLKIT Appwatch

  3. Flutter Tic Tac Toe Gamewatch

  4. Flutter Music Player Appwatch

  5. Flute Music PluginPub

  6. Flutter Firebase Setupwatch

  7. Flutter Firebase CRUDwatch

  8. Flutter Bottom Sheet Appwatch

  9. Flutter WebSockets Appwatch

  10. Flutter Sqflite MVP Appwatch

  11. Flutter Crypto Appwatch

  12. Flutter Redux Appwatch

  13. Flutter Frenzy Chat Appwatch

  14. Flutter Calculatorwatch

  15. Flutter Login Page Appwatch

  16. Flutter Login Page Bloc Pattern Appwatch

  17. Flutter Beautiful Material Navigation Drawerwatch

  18. Flutter Material Design Widgets - | Tabs | BottomNavigationBar | Stepper | Snackbar etc Appwatch

  19. Flutter Git Quick Start Guidewatch

  20. Flutter Local JSON Appwatch

  21. Flutter Fetching App Using HTTPwatch

  22. Flutter Swipe to delete ListView Appwatch

  23. Flutter Line Clipping Appwatch

  24. Flutter Bezier Curve Appwatch

  25. Flutter CryptoShadow Hugo EXTRAT

  26. Flutter LifeCycle And Orientationwatch

  27. Flutter Splash Screen - FlutKartwatch

  28. Flutter Real Splash Screens for both OSwatch

  29. Flutter Walkthrough Package & AppwatchPub

  30. Flutter Validating Form - Login Formwatch

  31. Flutter Age Calculator Appwatch

  32. Flutter Collapsing Toolbar Layoutwatch

  33. Flutter PullToRefresh ListViewwatch

  34. Flutter Internet Connectivitywatch

  35. Flutter Access Camera Appwatch

  36. Firebase Build Beautiful Wallpaper App P1watch

  37. Flutter: Integrate Ads | Create Admob Account P2watch

  38. Flutter: Integrate Analytics | Firebase Analytics | Handling Library Issues P3watch

  39. Flutter: Prepare App For Release | App Signing | Create JKS P4watch

  40. Flutter: Publish App to PlayStore | Fully Explained Demo P5watch

  41. Flutter: Expandable & Sticky Header Listwatch

  42. Flutter: Backdrop Widget Tutorial | Material Design 2.0watch

  43. Flutter: QR Code Scanner Appwatch

  44. Flutter: Integrate Google Maps Tutorialwatch

  45. VSCode Tips & Tricks | Flutter | 20 Useful Shortcutswatch

  46. Flutter: Handle Back Button Pressed | WillPopScope Widgetwatch

  47. Flutter: Programatically Check Whether Debug OR Release Modewatch

  48. Flutter: Make New Gmail Like FloatingActionButtonwatch

  49. Routes in Flutter | Push | PushNamed | GenerateRoute | Unknown Routewatch

  50. Flutter: Data Connection Checker | Wifi connected but no internetwatch

  51. Flutter: Android App Bundle Step By Step Guidewatch

  52. Flutter: Click | Pick | Crop | Compress an Image | AndroidXwatch

  53. Flutter: Overriding Dependencies | Solving Version Conflictswatch

  54. Flutter: Styling Google Maps For Multiple Themes | Android & iOS | Official Pluginwatch

  55. Flutter: WhatsApp Clone Status View | Story View Feature Tutorialwatch

  56. Making Ubuntu like terminal in Flutterwatch

  57. Westlife Using Flutter

Advanced

  1. Flutter Advanced: Signature App (CustomPainter)watch

  2. Flutter Advanced: Dynamic Theming | Change Theme At Runtimewatch

  3. Flutter Advanced: Inherited Widget & Scoped Model Explained | Part - 1watch

  4. Flutter Advanced: BloC Pattern Explained | Part - 2watch

  5. Flutter Advanced Redux: Shopping Cart App From Scratch | Redux Time Travelwatch

  6. Flutter Advanced: Build Your First Plugin For Android & iOS | Flutter ToastswatchPub

  7. Flutter Advanced: Download Large Files (Pdf, Json, Image etc) With Progress %watch

  8. Flutter Advanced: Async Programming | Future | Async Awaitwatch

  9. Flutter Advanced: Semantic Versioningwatch

  10. Flutter Advanced : Build Beautiful Material Search App or Integrate it with Any Appwatch

  11. Flutter Advanced : Add Flutter To Existing Or New Android Appwatch

  12. Flutter Advanced: The BloC Pattern on Whiteboardwatch

  13. Flutter Advanced Login Page Bloc Pattern Appwatch

  14. Flutter Advanced Face ID & Touch ID/Fingerprint Local Auth Appwatch

  15. Flutter Advanced Securing your Flutter Apps | Prevent Screenshot Appwatch

  16. Flutter Advanced: ARCore Tutorial | Sceneform | Exploring New Possibilitieswatch

  17. Flutter Advanced: ARKit Tutorial | iOSwatch

  18. Flutter Advanced: PDF Viewer Tutorial Android & IOS | From URL & Assetwatch

  19. Flutter Advanced: Auto Create Models from JSON | Serializablewatch

  20. Flutter Advanced: Background Fetch | Run code in the background Android & iOSwatch

  21. Flutter Advanced: Lazy Loading ListViews | Load More Data On Scrollwatch

  22. Flutter Advanced: Find Widget's Size & Position Using Render Objectwatch

  23. Flutter Advanced: TensorFlow Lite | Object Detection | YoloV2 | SSD Tutorialwatch

  24. Flutter Zoom In Zoom Out And Rotatewatch

Flutter Animation Series

  1. Flutter: Animation Series || Episode 1 || Basic Animation watch

  2. Flutter Animation: Ep 2 || Animation Series || Easing watch

  3. Flutter Animation: Ep 3 || Animation Series || Brick Animationswatch

  4. Flutter: Animation Series Ep 4 | Flipper Widgetwatch

  5. Flutter Flare 1.0 : Getting Started With 2D Animationswatch

  6. Flutter - Making a Christmas Tree 🎄| Tween Animationwatch

Flutter Library Series

  1. Awesome HTTP Inspector Tool | Flutter Library of the Week | EP-01 watch

  2. Awesome Animated Loaders | Flutter Library of the Week | EP-02 watch

  3. Awesome Onboarding Experience | Flutter Library of the Week | EP-03watch

  4. Awesome Overlays | Flutter Library of the Week | EP-04watch

  5. Awesome Extensions | Flutter Library of the Week | EP-05watch

  6. Storing Keys in .env file | BuildConfig | Flutter Library of the Week | EP-06watch

  7. Flutter Powerful VelocityX | VelocityX | Ch01-Ch05watch

  8. Flutter RxDart Explained - The Flutter Waywatch

Flutter Weekly Widgets Series

  1. Flutter: SizedBox | Flutter Weekly Widgets | Ep 1 watch

  2. Flutter: Animated Builder | Improve Performance | Ep 2 watch

  3. Flutter: Draggable & Drag Target | Ep 3 watch

  4. Flutter: World of Cupertino (iOS) | Ep 4 watch

  5. Flutter: Data Table | Ep 5 | Flutter Weekly Widgets watch

  6. Flutter: WebView | Browser App | Ep 6 | Website to Appwatch

  7. Flutter Advanced: Overlay Widget | Ep 7 | Flutter Weekly Widgets watch

  8. Flutter Advanced: Placeholder, Spacer, Visibility Widgets | Ep 8 watch

  9. Flutter Weekly Widgets S02E01 | Reordable ListViewwatch

  10. Flutter Weekly Widgets S02E02 | 3D ListViewwatch

  11. Flutter Weekly Widgets S02E03 | Universal Error Widgetwatch

Plugins on pub.dartlang.org

  1. Flutter VelocityX

  2. Flutter Flute Music Plugin - First Open Source Flutter based material design music player with audio plugin to play local music files.(Online Radio will be added soon).

  3. Flutter Walkthrough - A new Flutter package for both android and iOS which helps developers in creating animated walkthrough of their app.

  4. Flutter Toast PK - A new Flutter plugin for showing toast in android and ios.

  5. Random PK - A new Flutter package that gives a container with random color.

  6. PK Skeleton - A Facebook & Twitter Like Card Loading Shimmer Skeleton Library..

  7. MediumClapFlutter - A Custom Floating Action Button (FAB) library like clapping effect on Medium.

  8. audioplayers - A Flutter plugin to play multiple simultaneously audio files, works for Android and iOS.

  9. flame - A minimalist Flutter game engine.

Dart Series

  1. Learn Dart Basics in 30 Minswatch

  2. Thread of Execution, Functions & Call Stack- Dart Under The Hood CH1watch

Dart Backend Series (Source Code + YouTube Link)

  1. Dart: How to Setup Aqueduct | Intro | Aqueductwatch

  2. Dart: How to write your first REST API | Intro & 1/7 | Aqueductwatch

  3. Dart: How to make controllers ? | 1/7 | Aqueductwatch

  4. Dart: Indexing And Routing ? | 2/7 | Aqueductwatch

  5. Dart: How to write tests ? | 3/7 | Aqueductwatch

  6. Dart: How to setup PostgreSQL ? | 4/7 | Aqueductwatch

  7. Dart: How to write tests with test db ? | 5/7 | Aqueductwatch

  8. Dart: What is ORM ? | 5/7 | Aqueductwatch

  9. Dart: How to make DataModels ? | 5/7 | Aqueductwatch

  10. Dart: What are Relationships and Joins | 6/7 | Aqueductwatch

  11. Dart: How to deploy to real database ? | 7/7 | Aqueductwatch

  12. Server Side Dart - Exploring Angel | First APIwatch

  13. Flutter App + Backend (Angel) = FullStackwatch

  14. Deno (Backend) + Flutter (Frontend) Full Tutorial | QuotesX API & APPwatch

Workshops & Interviews

  1. Flutter From Scratch - Workshop | Photos Info App | Instagram Clone & Morewatch

  2. Taking Flight with VelocityX - Pawan Kumar (Flutter Week)watch

  3. Interview With A Googler | Chris Sells | Episode 01 | Flutter Q&Awatch

Pull Requests

I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request. Here are some basic rules to follow to ensure timely addition of your request:

  1. Match the document style as closely as possible.
  2. Please keep PR titles easy to read and descriptive of changes, this will make them easier to merge :)
  3. Pull requests must be made against master branch for this particular repository.
  4. Check for existing issues first, before filing an issue.
  5. Make sure you follow the set standard as all other projects in this repo do
  6. Have fun!

Created & Maintained By

Pawan Kumar (@imthepk) (YouTube) (Instagram)

If you found this project helpful or you learned something from the source code and want to thank me, consider buying me a cup of ☕

License

Copyright 2018 Pawan Kumar

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Getting Started

For help getting started with Flutter, view our online documentation. Image

For help on editing plugin code, view the documentation.

flutterexampleapps's People

Contributors

huextrat avatar iampawan avatar imgbotapp avatar luanpotter avatar renjingkai avatar sunchit17 avatar yashwp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flutterexampleapps's Issues

How to create dynamic widgets based on json response flutter

How do i design the screen as shown in the Screenshot
Screenshot
image

Here, in the screen it has option to swipe screen within the fixed content and screen are also created dynamically based on json response

Also, please help me out in creating dynamic expansiontile with multiple items as in the screenshot, and providing user to enter comments and store comment values based in each exapansiontile
Any help would be appreciated..

flutter run failed , can you help me?

`* Error running Gradle:
ProcessException: Process "C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\gradlew.bat" exited abnormally:
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
java.lang.IllegalStateException: compileSdkVersion is not specified.
at com.google.common.base.Preconditions.checkState(Preconditions.java:456)
at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:590)
at com.android.build.gradle.BasePlugin.lambda$null$3(BasePlugin.java:555)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:81)
at com.android.build.gradle.BasePlugin.lambda$createTasks$4(BasePlugin.java:551)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:91)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:80)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230)
at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324)
at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234)
at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140)
at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy28.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:75)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:69)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:33)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:103)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:49)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:651)
at org.gradle.api.internal.project.DefaultProject.evaluationDependsOn(DefaultProject.java:731)
at org.gradle.api.internal.project.DefaultProject.evaluationDependsOn(DefaultProject.java:723)
at org.gradle.api.Project$evaluationDependsOn.call(Unknown Source)
at build_608y0f0tiuyq95x8su36yynea$_run_closure3.doCall(C:\2018MrzWorks\Android Study
Test\Flutter-Music-Player\android\build.gradle:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:71)
at org.gradle.util.ConfigureUtil.configureTarget(ConfigureUtil.java:160)
at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:106)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$3.run(BuildOperationCrossProjectConfigurator.java:100)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.runProjectConfigureClosure(BuildOperationCrossProjectCo
nfigurator.java:96)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.access$400(BuildOperationCrossProjectConfigurator.java:
31)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$1.doRunProjectConfigure(BuildOperationCrossProjectConfi
gurator.java:81)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$BlockConfigureBuildOperation.run(BuildOperationCrossPro
jectConfigurator.java:144)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.runBlockConfigureClosure(BuildOperationCrossProjectConf
igurator.java:78)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.subprojects(BuildOperationCrossProjectConfigurator.java
:53)
at org.gradle.api.internal.project.DefaultProject.subprojects(DefaultProject.java:1103)
at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:479)
at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:191)
at org.gradle.internal.metaobject.CompositeDynamicObject.tryInvokeMethod(CompositeDynamicObject.java:98)
at
org.gradle.internal.metaobject.MixInClosurePropertiesAsMethodsDynamicObject.tryInvokeMethod(MixInClosurePropertiesAsMethodsDyn
amicObject.java:30)
at org.gradle.groovy.scripts.BasicScript$ScriptDynamicObject.tryInvokeMethod(BasicScript.java:134)
at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:160)
at org.gradle.groovy.scripts.BasicScript.invokeMethod(BasicScript.java:83)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:75)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at build_608y0f0tiuyq95x8su36yynea.run(C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\build.gradle:23) at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:90)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:187)
at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:192)
at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:61)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:58)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:39)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34) at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:63)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:33)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:103)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:49)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:651)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:133)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:60)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:246)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:165)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:124)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:107)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:45)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:71)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:51)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
at
org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionEx
ecuter.java:43)
at
org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionEx
ecuter.java:29)
at
org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
at
org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)
at
org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:
55)
at
org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:
42)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:58)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:33)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)

FAILURE: Build failed with an exception.

  • Where:
    Build file 'C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\app\build.gradle' line: 19

  • What went wrong:
    A problem occurred evaluating project ':app'.

C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\key.properties (系统找不到指定的文件。)

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

  • Get more help at https://help.gradle.org

BUILD FAILED in 1s
Command: C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\gradlew.bat app:properties

Please review your Gradle project setup in the android/ folder.`

Yǐshàng shì wǒ zài flutter run shíbào de cuò
22/5000
The above is my mistake in the flutter run time.

pubspec.yaml find not found

I'm unable to find pubspec.yaml file of this project. And, also (idk why I did this) I tried to copy pubspec.yaml file from other my other projects but it showed
"Target file "lib/main.dart" not found."

Please help how do I overcome this pubspec.yaml problem?

how to solve this?

package:http/http.dart
That library is in a package that is not known. Maybe you forgot to mention it in your pubspec.yaml file?

please provide an example how to call android foreground service from flutter.

I have an android app in which I have a foreground service which runs for every 24 hours and download few things. Now I want to port app to flutter, but I'm unable to understand properly how to call that foreground service. I searched online and found we can use platform channels to talk with native platform code but I'm quite unable to get it. please provide an example to run android foreground service from flutter. Thanks in advance.

buildTypes and productFlavors

This repo is awesome!
If you could illustrate how to configure buildTypes and productFlavors in a flutter perspective, that would be great

code for the Wallfy example

Thanks for sharing the examples: Could you point to the code for the Walfy example. You only show the gif but no link is provided for the code or youtube video

Thank you

Instagram token

These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://www.paypal.me/imthepk/']

I have this awesome app idea, But need help making it Please any person help me here. Please help me

So, I have this idea of making an app for a nonprofit foundation, In our community (street) we collect money and one person saves it at his home after collecting from all (monthly) *this money is used in situations like sudden death of any contributor, financial help to poors etc. I want to make an app to help make this process digital and make the system more powerful. APP DETAILS There is an admin app *website: which can control how has given this month's contribution or not, and also with a single click give the person notification 🔔 if he has overdue amount. (so he could pay by coming at home) Users side: the user (contributors)sign inn to their apps : to see their overdues or dues or get notifications through notifications of dues. I really want to help people with this, And need a passionate person to help me make it as i don't have skills, so in the process i could learn too. Please help me so we could do our part to make something for people.

urgent help for sound wave recorder to forward and backward functionality

Working in flutter need solution for recording sound with wave form and forward it by 15 seconds ,
I tried many solutions but they were not helpful like using duration custom or custom.....
also used this package audio_waveforms but didnt worked if anyone could help please respond asap

import 'dart:io';

import 'package:audio_waveforms/audio_waveforms.dart';
import 'package:flutter/material.dart';
import 'package:path_provider/path_provider.dart';
import 'package:provider/provider.dart';
import 'package:smilestone/Audio_Screen/AudioRecordingProvider.dart';
import 'package:smilestone/Utils/sizeConfig.dart';

import '../Utils/utils.dart';

class AudioRecording extends StatefulWidget {
const AudioRecording({Key key}) : super(key: key);

@OverRide
State createState() => _AudioRecordingState();
}

class _AudioRecordingState extends State {
RecorderController recorderController;
PlayerController playerController;
bool _isPlayingAudio = false;
bool _isPlayIcon = true;
bool closeIcon = false;
bool yesDialog = false;
String audioFilePath;
TextEditingController saveController=TextEditingController();
bool listOfSound=false;
Duration currentPosition = Duration.zero;
Duration _position = Duration.zero;
Duration _duration = Duration.zero;

var filePath;

void toggleBtn() {
if (_isPlayingAudio == false) {
_isPlayingAudio = !_isPlayingAudio;
_startRecording();
}
if (_isPlayIcon == false) {
_isPlayIcon = !_isPlayIcon;
}
setState(() {});
}

void toggleIconBtn() {
_isPlayIcon = !_isPlayIcon;
_pauseAudio();
if(_isPlayIcon==true){
_pauseAudio();

}
print("object111111111");
setState(() {});

}

void _initializeController() {
recorderController = RecorderController()
..androidEncoder = AndroidEncoder.aac
..androidOutputFormat = AndroidOutputFormat.mpeg4
..iosEncoder = IosEncoder.kAudioFormatMPEG4AAC
..sampleRate = 16000;

playerController = PlayerController();

}

void _startRecording() async {
try {
if (!recorderController.isRecording) {
await recorderController.record();
} else {
final path = await recorderController.stop();
_isPlayingAudio = true;

    if (path != null) {
      await playerController.preparePlayer(path: path);
      await playerController.startPlayer(finishMode: FinishMode.loop);
    }
    setState(() {
      audioFilePath = path;
    });
  }
  setState(() {});
}catch (e){
  print(e.toString());
}

}

void forwardAudioBy15Seconds() async {
if (_isPlayingAudio) {
var duration = playerController.getDuration(DurationType.current);
print("duration===>"+duration.toString());
playerController.onPlayerStateChanged.skip(15000);
// final Duration newPosition = currentPosition + Duration(seconds: 15);
// playerController.seekTo(newPosition.inSeconds);
// print("object"+newPosition.toString());

}

}

Future saveAudio() async {
final appDir = await getExternalStorageDirectory();
final folderPath = '${appDir.parent.path}/audio_folder';
final folder = Directory(folderPath);
if (!(await folder.exists())) {
await folder.create(recursive: true);
}
var audioFileName = "";
if (saveController.text != null && saveController.text.isNotEmpty) {
audioFileName = '${saveController.text}.wav';
} else {
audioFileName = 'audio
${DateTime.now().millisecondsSinceEpoch}.wav';
}
print("audioFileName"+audioFileName);
filePath = '$folderPath/$audioFileName';
print("file path"+filePath);
final recordedAudioFile = File(audioFilePath);
final copiedFile = await recordedAudioFile.copy(filePath);

if (copiedFile != null) {
  print('Audio saved at: $filePath');
} else {
  print('Failed to save audio.');
}
saveController.text="";

}

void _pauseAudio() async {
if (_isPlayIcon) {
playerController.pausePlayer();
_isPlayingAudio=true;
} else {
playerController.startPlayer(finishMode: FinishMode.loop);
}
_isPlayIcon = !_isPlayIcon;
setState(() {});
}

@OverRide
void initState() {
super.initState();

_initializeController();

}

@OverRide
void dispose() {
super.dispose();
recorderController.dispose();
playerController.dispose();
}

Widget SelectListOfAudio(){
return Container(
width: SizeConfig.screenWidth *0.11,
height: SizeConfig.screenHeight *0.18,
decoration: BoxDecoration(
// border: Border.all(width: 0.5),
color: Color.fromRGBO(0, 0, 0, 0.7),
borderRadius: BorderRadius.circular(36),
shape: BoxShape.rectangle,
),
child: Column(
children: [
SizedBox(height: SizeConfig.screenHeight *0.01,),
GestureDetector(
child: Image.asset(
"assets/images/audioImage.png",
height: SizeConfig.screenHeight * 0.045,
),
),
SizedBox(height: SizeConfig.screenHeight *0.01,),
GestureDetector(
child: Image.asset(
"assets/images/childImage.png",
height: SizeConfig.screenHeight * 0.045,
),
),
SizedBox(height: SizeConfig.screenHeight *0.01,),
GestureDetector(
child: Image.asset(
"assets/images/child_animalImg.png",
height: SizeConfig.screenHeight * 0.045,
width: SizeConfig.screenWidth *0.088,
),
)
],
),
);
}

@OverRide
Widget build(BuildContext context) {
SizeConfig().init(context);
return Scaffold(
body: Container(
child: SingleChildScrollView(
child: Column(
children: [
Container(
margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.055),
alignment: Alignment.topCenter,
child: Image.asset(
"assets/images/smileStone.png",
width: SizeConfig.screenWidth * 0.4,
)),

          Container(
              margin: EdgeInsets.only(top: SizeConfig.screenHeight*0.01,left: SizeConfig.screenWidth *0.055,right: SizeConfig.screenWidth *0.055),
              width: SizeConfig.screenWidth * 0.9,
              height: SizeConfig.screenHeight * 0.7,
              decoration: BoxDecoration(
                  boxShadow: [
                    BoxShadow(
                        color: Color.fromRGBO(0, 0, 0, 0.18),
                        offset: Offset(0, 2),
                        spreadRadius: 0,
                        blurRadius: 8
                    )
                  ],
                  color: ColorCode_white_text,
                  shape: BoxShape.rectangle,
                  borderRadius: BorderRadius.circular(36)
              ),
              child: Stack(
                children: [

                  _isPlayingAudio
                      ? AudioFileWaveforms(
                    size: Size(MediaQuery.of(context).size.width, 400.0),
                    playerController: playerController,
                    enableSeekGesture: false,
                    waveformType: WaveformType.long,
                    backgroundColor: Colors.red,
                    playerWaveStyle: const PlayerWaveStyle(
                      fixedWaveColor: Colors.grey,
                      liveWaveColor: Colors.black,
                      spacing: 12,
                      waveThickness: 7,
                      waveCap: StrokeCap.round,
                      scaleFactor: 1000,
                      showSeekLine: false,
                    ),
                  )
                      : recorderController.isRecording
                      ? Container(
                    width: SizeConfig.screenWidth * 0.9,
                    height: SizeConfig.screenHeight * 0.7,
                    decoration: BoxDecoration(
                        boxShadow: [
                          BoxShadow(
                              color: Color.fromRGBO(0, 0, 0, 0.18),
                              offset: Offset(0, 2),
                              spreadRadius: 0,
                              blurRadius: 8
                          )
                        ],
                        color: ColorCode_white_text,
                        shape: BoxShape.rectangle,
                        borderRadius: BorderRadius.circular(36)
                    ),
                        child: AudioWaveforms(
                          size: Size(MediaQuery.of(context).size.width, 500.0),
                          recorderController: recorderController,
                          enableGesture: false,
                          waveStyle: const WaveStyle(
                            bottomPadding: 205,
                            waveColor: Colors.black,
                            showDurationLabel: false,
                            waveCap: StrokeCap.round,
                            extendWaveform: true,
                            showMiddleLine: false,
                            scaleFactor: 400,
                            waveThickness: 6,
                            spacing: 12,
                          ),
                        ),
                      )
                      : Stack(
                    alignment: Alignment.center,
                    children: [
                      Row(
                        // mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: [
                          Container(
                            alignment: Alignment.topLeft,
                            margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.04, left: SizeConfig.screenWidth * 0.05),
                            child: GestureDetector(
                              child: Image.asset(
                                "assets/images/backBtn.png",
                                height: SizeConfig.screenHeight * 0.03,
                              ),
                            ),
                          ),
                          GestureDetector(
                            onTap: (){
                              listOfSound=!listOfSound;
                              setState(() {

                              });
                            },
                            child: Container(
                              alignment: Alignment.topLeft,
                              margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.025, left: SizeConfig.screenWidth * 0.5),
                              child: !listOfSound? Image.asset(
                                "assets/images/selectSound.png",
                                height: SizeConfig.screenHeight * 0.05,
                              ):SelectListOfAudio()
                            ),
                          ),
                          Container(
                            alignment: Alignment.topLeft,
                            padding: EdgeInsets.only(top: SizeConfig.screenHeight * 0.02, right: SizeConfig.screenWidth * 0.02),
                            child: GestureDetector(
                              child: Image.asset(
                                "assets/images/upload.png",
                                height: SizeConfig.screenHeight * 0.06,
                              ),
                            ),
                          ),
                        ],
                      ),
                      Text('Record your voice here'),

                    ],
                  ),
                  _isPlayingAudio?
                  Container(
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: [
                        Container(
                          alignment: Alignment.topLeft,
                          margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.025, left: SizeConfig.screenWidth * 0.05,bottom: SizeConfig.screenHeight *0.025),
                          child: GestureDetector(
                            onTap: () {
                              showDialog(
                                barrierDismissible: false,
                                context: context,
                                builder: (BuildContext context) {
                                  return AlertDialog(
                                    shape: RoundedRectangleBorder(
                                      borderRadius: BorderRadius.circular(15),
                                    ),
                                    title: Column(
                                      mainAxisAlignment: MainAxisAlignment.start,
                                      crossAxisAlignment: CrossAxisAlignment.start,
                                      mainAxisSize: MainAxisSize.max,
                                      children: [
                                        Text(
                                          '''Are you sure you want to Delete this recording?''',
                                          style: TextStyle(fontSize: Utils().GlobalScreenHeight * 0.022, color: black_color, fontWeight: FontWeight.w600),
                                        ),
                                        SizedBox(
                                          height: SizeConfig.screenHeight * 0.03,
                                        ),
                                        Row(
                                          mainAxisAlignment: MainAxisAlignment.center,
                                          children: [
                                            Container(
                                              width: SizeConfig.screenWidth * 0.25,
                                              height: SizeConfig.screenHeight * 0.053,
                                              child: ElevatedButton(
                                                  style: ElevatedButton.styleFrom(
                                                    primary: greenColor, // Background color
                                                  ),
                                                  onPressed: () {
                                                    Navigator.pop(context);
                                                    _isPlayingAudio = !_isPlayingAudio;
                                                    setState(() {});
                                                  },
                                                  child: Text('Yes')),
                                            ),
                                            SizedBox(
                                              width: SizeConfig.screenWidth * 0.05,
                                            ),
                                            Container(
                                              width: SizeConfig.screenWidth * 0.25,
                                              height: SizeConfig.screenHeight * 0.053,
                                              child: ElevatedButton(
                                                  style: ElevatedButton.styleFrom(
                                                    primary: redColor, // Background color
                                                  ),
                                                  onPressed: () {
                                                    Navigator.of(context).pop();
                                                    if (_isPlayIcon == true) {
                                                      _pauseAudio();
                                                    }
                                                  },
                                                  child: Text('No')),
                                            ),
                                          ],
                                        )
                                      ],
                                    ),
                                  );
                                },
                              );
                            },
                            child: Image.asset(
                              "assets/images/wrong.png",
                              height: SizeConfig.screenHeight * 0.025,
                            ),
                          ),
                        ),
                        ChangeNotifierProvider<RecordingProvider>(
                          create: (_) => RecordingProvider(),
                          child: Consumer<RecordingProvider>(
                            builder: (context, provider,_){
                              return Container(
                                alignment: Alignment.topLeft,
                                margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.025, right: SizeConfig.screenWidth * 0.05),
                                child: GestureDetector(
                                  onTap: () async{
                                    await _pauseAudio();
                                    showDialog(
                                        barrierDismissible: false,
                                        context: context,
                                        builder: (BuildContext context) {
                                          return AlertDialog(
                                            shape: RoundedRectangleBorder(
                                              borderRadius: BorderRadius.circular(15),
                                            ),
                                            title: Column(
                                              mainAxisAlignment: MainAxisAlignment.start,
                                              crossAxisAlignment: CrossAxisAlignment.center,
                                              mainAxisSize: MainAxisSize.max,
                                              children: [
                                                Container(
                                                  width:SizeConfig.screenWidth* 0.5,
                                                  height: SizeConfig.screenHeight *0.07,
                                                  child: TextFormField(
                                                    cursorColor: ColorCode_grey,
                                                    controller: saveController,
                                                    style: TextStyle(fontSize: SizeConfig.screenHeight *0.018),
                                                    decoration: InputDecoration(

                                                      border: OutlineInputBorder(
                                                          borderSide: BorderSide(
                                                            color:  TextFormColor,
                                                          )
                                                      ),
                                                      hintText: "Name your recording",
                                                      hintStyle: TextStyle(fontSize: SizeConfig.screenHeight *0.018),
                                                      fillColor: TextFormColor,
                                                      filled: true,
                                                      focusedBorder: OutlineInputBorder(
                                                          borderSide: BorderSide(
                                                            color:  TextFormColor,
                                                          )
                                                      ),
                                                      enabledBorder: OutlineInputBorder(
                                                          borderSide: BorderSide(
                                                            color:  TextFormColor,
                                                          )
                                                      ),

                                                    ),
                                                  ),
                                                ),
                                                SizedBox(height: SizeConfig.screenHeight *0.02,),
                                                Text("Successfully Saved!",style: TextStyle(fontWeight: FontWeight.w600,fontSize: Utils().GlobalScreenHeight *0.02),),
                                                SizedBox(height: SizeConfig.screenHeight *0.02,),
                                                Container(
                                                  width: SizeConfig.screenWidth * 0.25,
                                                  height: SizeConfig.screenHeight * 0.053,
                                                  child: ElevatedButton(
                                                      style: ElevatedButton.styleFrom(
                                                        primary: greenColor, // Background color
                                                      ),
                                                      onPressed: () {
                                                        _saveAudio();
                                                        provider.FetchSaveRecording('${saveController.text}', filePath);
                                                        Navigator.pop(context);
                                                        // _isPlayIcon = !_isPlayIcon;
                                                        setState(() {});
                                                      },
                                                      child: Text('Done')),
                                                ),

                                              ],
                                            ),
                                          );
                                        });
                                    setState(() {

                                    });
                                  },
                                  child: Image.asset(
                                    "assets/images/right.png",
                                    height: SizeConfig.screenHeight * 0.025,
                                  ),
                                ),
                              );
                            },

                          ),
                        ),
                      ],
                    ),
                  ):Container(),
                ],
              )
          ),
          SizedBox(height: SizeConfig.screenHeight *0.05,),

          _isPlayingAudio
              ? Container(
            width: SizeConfig.screenWidth *0.8,
            child: Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: [
                GestureDetector(
                    onTap: () async{
                      await playerController.seekTo(1000);

                    },
                    child: Image.asset(
                      "assets/images/backward.png",
                      height: SizeConfig.screenHeight * 0.08,
                    )),
                GestureDetector(
                    onTap: _pauseAudio,
                    child: Image.asset(
                      _isPlayIcon ? "assets/images/audio_pause.png" : "assets/images/audio_play.png",
                      height: SizeConfig.screenHeight * 0.085,
                    )
                ),
                GestureDetector(
                    onTap: ()async {
                      playerController.onCurrentDurationChanged.listen((duration) {
                        duration=5000;

                      });
                      forwardAudioBy15Seconds();
                      setState(()async {
                        Duration forwardDuration = Duration(seconds: 5);
                        await playerController.getDuration(DurationType.current);
                        forwardDuration.inSeconds;

// Seek forward by a specific duration
// Duration currentPosition = playerController.getDuration(DurationType.current);
// Duration forwardDuration = Duration(seconds: 5); // Seek forward by 5 seconds
// Duration targetPosition = currentPosition + forwardDuration;
//
// if (targetPosition > playerController.) {
// // Adjust target position to the maximum duration if it exceeds the duration
// targetPosition = playerController.duration;
// }
//
// await playerController.seekTo(targetPosition);
var duration = playerController.getDuration(DurationType.current);
print("duration===>"+duration.toString());

                      });
                    },
                    child: Image.asset(
                      "assets/images/forward.png",
                      height: SizeConfig.screenHeight * 0.08,
                    )),
              ],
            ),
          )
              : GestureDetector(
              onTap: () {
                _startRecording();
              },
              child: Image.asset(
                recorderController.isRecording
                    ?
                "assets/images/audio_pause.png":
                "assets/images/mic.png",
                height: SizeConfig.screenHeight * 0.085,
              )),

        ],
      ),
    ),
  ),
);

}
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.