gitextract_l9gpf37n/ ├── .gitattributes ├── .gitignore ├── .metadata ├── CHANGELOG.md ├── LICENSE ├── README.md ├── android/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── settings.gradle │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ └── kotlin/ │ └── record/ │ └── wilson/ │ └── flutter/ │ └── com/ │ └── flutter_plugin_record/ │ ├── FlutterPluginRecordPlugin.kt │ ├── timer/ │ │ ├── ITimer.java │ │ ├── ITimerChangeCallback.java │ │ ├── MTimer.java │ │ └── TimerUtils.java │ └── utils/ │ ├── AudioHandler.java │ ├── DateUtils.java │ ├── DialogUtil.java │ ├── FileTool.java │ ├── LogUtils.java │ ├── PlayState.java │ ├── PlayUtilsPlus.java │ └── RecorderUtil.java ├── example/ │ ├── .flutter-plugins-dependencies │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── android/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ ├── debug/ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── kotlin/ │ │ │ │ │ └── record/ │ │ │ │ │ └── wilson/ │ │ │ │ │ └── flutter/ │ │ │ │ │ └── com/ │ │ │ │ │ └── flutter_plugin_record_example/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── launch_background.xml │ │ │ │ ├── values/ │ │ │ │ │ └── styles.xml │ │ │ │ └── xml/ │ │ │ │ └── network_security_config.xml │ │ │ └── profile/ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── res/ │ │ │ └── values/ │ │ │ └── strings_en.arb │ │ └── settings.gradle │ ├── ios/ │ │ ├── Flutter/ │ │ │ ├── .last_build_id │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ ├── Flutter.podspec │ │ │ └── Release.xcconfig │ │ ├── Podfile │ │ ├── Runner/ │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── LaunchImage.imageset/ │ │ │ │ ├── Contents.json │ │ │ │ └── README.md │ │ │ ├── Base.lproj/ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── Runner-Bridging-Header.h │ │ ├── Runner.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Runner.xcscheme │ │ └── Runner.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ ├── lib/ │ │ ├── generated/ │ │ │ └── i18n.dart │ │ ├── main.dart │ │ ├── path_provider_screen.dart │ │ ├── record_mp3_screen.dart │ │ ├── record_screen.dart │ │ └── wechat_record_screen.dart │ ├── pubspec.yaml │ └── test/ │ └── widget_test.dart ├── flutter_plugin_record.iml ├── ios/ │ ├── .gitignore │ ├── Assets/ │ │ └── .gitkeep │ ├── Classes/ │ │ ├── DPAudioPlayer.h │ │ ├── DPAudioPlayer.m │ │ ├── DPAudioRecorder.h │ │ ├── DPAudioRecorder.m │ │ ├── FlutterPluginRecordPlugin.h │ │ ├── FlutterPluginRecordPlugin.m │ │ ├── JX_GCDTimerManager.h │ │ └── JX_GCDTimerManager.m │ └── flutter_plugin_record.podspec ├── lib/ │ ├── const/ │ │ ├── play_state.dart │ │ ├── record_state.dart │ │ └── response.dart │ ├── flutter_plugin_record.dart │ ├── index.dart │ ├── utils/ │ │ └── common_toast.dart │ └── widgets/ │ ├── custom_overlay.dart │ └── voice_widget.dart ├── pubspec.yaml └── test/ └── flutter_plugin_record_test.dart