GithubHelp home page GithubHelp logo

evrone / flutter_audio Goto Github PK

View Code? Open in Web Editor NEW
108.0 108.0 37.0 217 KB

A Flutter audio-plugin to playing and recording sounds

Home Page: https://evrone.com

License: MIT License

Java 37.73% Ruby 18.53% Objective-C 6.76% Dart 36.98%

flutter_audio's People

Contributors

britov avatar chaseguru avatar davetoxa avatar dimmetrius avatar dweekly avatar evtauri avatar liuyang-kevin avatar naman114 avatar rimidl 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

flutter_audio's Issues

Error in IOS SDK 9.3+

I got this error when I stopped the record. I have no problem when I targeted it on IOS SDK 8.0

image

use error

when i use this plugin ,i get error:

startRecorder error: Exception: MissingPluginException(No implementation found for method startRecorder on channel flutter_sound).

but this example run well

Initialization error

Note: C:\Users\Ken\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\medcorder_audio-0.0.1\android\src\main\java\co\medcorder\medcorderaudio\MedcorderAudioPlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Note - I did receive a 'fix' from the author, which I haven't tried, but this needs to be addressed at the project/plugin level.

An exception Was raised in Flutter IOS

@olegbalbekov @davetoxa @KODerFunk @rimidl @dweekly

As followed: -

2020-09-29 17:10:43.133942+0800 Runner[460:70957] flutter: ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
2020-09-29 17:10:43.136131+0800 Runner[460:70957] flutter: The following MissingPluginException was thrown while activating platform stream on channel
2020-09-29 17:10:43.136891+0800 Runner[460:70957] flutter: medcorder_audio_events:
2020-09-29 17:10:43.137566+0800 Runner[460:70957] flutter: MissingPluginException(No implementation found for method listen on channel medcorder_audio_events)
2020-09-29 17:10:43.138326+0800 Runner[460:70957] flutter:
2020-09-29 17:10:43.139472+0800 Runner[460:70957] flutter: When the exception was thrown, this was the stack:
2020-09-29 17:10:43.140099+0800 Runner[460:70957] flutter: #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:7)
2020-09-29 17:10:43.141333+0800 Runner[460:70957] flutter: <asynchronous suspension>
2020-09-29 17:10:43.141926+0800 Runner[460:70957] flutter: #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:334:12)
2020-09-29 17:10:43.142588+0800 Runner[460:70957] flutter: #2      EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:542:29)
2020-09-29 17:10:43.143233+0800 Runner[460:70957] flutter: #3      EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:528:64)
2020-09-29 17:10:43.143830+0800 Runner[460:70957] flutter: #8      new MedcorderAudio (package:medcorder_audio/medcorder_audio.dart:13:43)
2020-09-29 17:10:43.145095+0800 Runner[460:70957] flutter: #9      new _MyAppState (package:medcorder_audio_example/main.dart:16:36)
2020-09-29 17:10:43.145872+0800 Runner[460:70957] flutter: #10     MyApp.createState (package:medcorder_audio_example/main.dart:12:36)
2020-09-29 17:10:43.146718+0800 Runner[460:70957] flutter: #11     new StatefulElement (package:flutter/src/widgets/framework.dart:4635:25)
2020-09-29 17:10:43.147284+0800 Runner[460:70957] flutter: #12     StatefulWidget.createElement (package:flutter/src/widgets/framework.dart:900:38)
2020-09-29 17:10:43.148299+0800 Runner[460:70957] flutter: #13     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3485:40)
2020-09-29 17:10:43.148849+0800 Runner[460:70957] flutter: #14     Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18)
2020-09-29 17:10:43.149674+0800 Runner[460:70957] flutter: #15     RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1174:16)
2020-09-29 17:10:43.150215+0800 Runner[460:70957] flutter: #16     RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1145:5)
2020-09-29 17:10:43.151075+0800 Runner[460:70957] flutter: #17     RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1087:17)
2020-09-29 17:10:43.151647+0800 Runner[460:70957] flutter: #18     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2620:19)
2020-09-29 17:10:43.152824+0800 Runner[460:70957] flutter: #19     RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1086:13)
2020-09-29 17:10:43.153408+0800 Runner[460:70957] flutter: #20     WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:927:7)
2020-09-29 17:10:43.153945+0800 Runner[460:70957] flutter: #21     WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:908:7)
2020-09-29 17:10:43.154469+0800 Runner[460:70957] flutter: (elided 15 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
2020-09-29 17:10:43.155475+0800 Runner[460:70957] flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
2020-09-29 17:10:43.159887+0800 Runner[460:70957] flutter: stopPlay: fail
~``

Permissions error testing with example. Please help.

    • Flutter version 1.2.1 
    • Framework revision 8661d8aecd (3 months ago), 2019-02-14 19:19:53 -0800
    • Engine revision 3757390fa4
    • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

I'm getting permissions error. I am testing with example. Here is my manifest file.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="co.medcorder.medcorderaudioexample">

    <!-- The INTERNET permission is required for development. Specifically,
         flutter needs it to communicate with the running application
         to allow setting breakpoints, to provide hot reload, etc.
    -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />        

    <!-- io.flutter.app.FlutterApplication is an android.app.Application that
         calls FlutterMain.startInitialization(this); in its onCreate method.
         In most cases you can leave this as-is, but you if you want to provide
         additional functionality it is fine to subclass or reimplement
         FlutterApplication and put your custom class here. -->
    <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="medcorder_audio_example"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- This keeps the window background of the activity showing
                 until Flutter renders its first frame. It can be removed if
                 there is no splash screen (such as the default splash screen
                 defined in @style/LaunchTheme). -->
            <meta-data
                android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
                android:value="true" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

help me

Hello author! Where can I set the recorded audio format to mp4 so that both ios and Android can play this file?

iOS MissingPluginException(No implementation found for method listen on channel medcorder_audio_events)

Android works ok, but iOS shows this on init

The following MissingPluginException was thrown while activating platform stream on channel medcorder_audio_events:
MissingPluginException(No implementation found for method listen on channel medcorder_audio_events)

When the exception was thrown, this was the stack:
#0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)

#1 EventChannel.receiveBroadcastStream. (package:flutter/src/services/platform_channel.dart:517:29)
#3 EventChannel.receiveBroadcastStream. (package:flutter/src/services/platform_channel.dart:503:64)
#8 new MedcorderAudio (package:medcorder_audio/medcorder_audio.dart:13:43)
...

Needs to be updated for Dart 2 Compatibility

needs to be updated to dart 2 preview.
https://groups.google.com/forum/#!topic/flutter-dev/H8dDhWg_c8I

Steps to Reproduce

Integrated https://github.com/evrone/flutter_audio with an app for a few months. Was working until recently. Now throws

2018-05-01 10:17:34.794099-0700 Runner[52813:1608248] flutter: type '(Map<String, dynamic>) => void' is not a subtype of type '(dynamic) => void'

Logs

Run your application with flutter run and attach all the log output.
2018-05-01 10:17:34.627949-0700 Runner[52813:1608279] flutter: Observatory listening on http://127.0.0.1:61887/
2018-05-01 10:17:34.786834-0700 Runner[52813:1608248] flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
2018-05-01 10:17:34.793689-0700 Runner[52813:1608248] flutter: The following assertion was thrown attaching to the render tree:
2018-05-01 10:17:34.794099-0700 Runner[52813:1608248] flutter: type '(Map<String, dynamic>) => void' is not a subtype of type '(dynamic) => void'
2018-05-01 10:17:34.803361-0700 Runner[52813:1608248] flutter:
2018-05-01 10:17:34.803674-0700 Runner[52813:1608248] flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
2018-05-01 10:17:34.804658-0700 Runner[52813:1608248] flutter: more information in this error message to help you determine and fix the underlying cause.
2018-05-01 10:17:34.804950-0700 Runner[52813:1608248] flutter: In either case, please report this assertion by filing a bug on GitHub:
2018-05-01 10:17:34.805849-0700 Runner[52813:1608248] flutter: https://github.com/flutter/flutter/issues/new
2018-05-01 10:17:34.806535-0700 Runner[52813:1608248] flutter:
2018-05-01 10:17:34.806868-0700 Runner[52813:1608248] flutter: When the exception was thrown, this was the stack:
2018-05-01 10:17:34.811722-0700 Runner[52813:1608248] flutter: #0 new MedcorderAudio (package:medcorder_audio/medcorder_audio.dart:16:50)
2018-05-01 10:17:34.812700-0700 Runner[52813:1608248] flutter: #1 new _MyAppState (file:///Users/jeanpaul/Dev/flutter_audio/example/lib/main.dart:17:36)
2018-05-01 10:17:34.813265-0700 Runner[52813:1608248] flutter: #2 MyApp.createState (file:///Users/jeanpaul/Dev/flutter_audio/example/lib/main.dart:12:36)
2018-05-01 10:17:34.813675-0700 Runner[52813:1608248] flutter: #3 new StatefulElement (package:flutter/src/widgets/framework.dart:3702:23)
2018-05-01 10:17:34.813951-0700 Runner[52813:1608248] flutter: #4 StatefulWidget.createElement (package:flutter/src/widgets/framework.dart:781:42)
2018-05-01 10:17:34.814354-0700 Runner[52813:1608248] flutter: #5 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2897:40)
2018-05-01 10:17:34.814503-0700 Runner[52813:1608248] flutter: #6 Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
2018-05-01 10:17:34.815057-0700 Runner[52813:1608248] flutter: #7 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:857:16)
2018-05-01 10:17:34.815264-0700 Runner[52813:1608248] flutter: #8 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:828:5)
2018-05-01 10:17:34.815461-0700 Runner[52813:1608248] flutter: #9 RenderObjectToWidgetAdapter.attachToRenderTree. (package:flutter/src/widgets/binding.dart:774:17)
2018-05-01 10:17:34.815602-0700 Runner[52813:1608248] flutter: #10 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2214:19)
2018-05-01 10:17:34.815924-0700 Runner[52813:1608248] flutter: #11 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:773:13)
2018-05-01 10:17:34.816070-0700 Runner[52813:1608248] flutter: #12 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:662:7)
2018-05-01 10:17:34.816395-0700 Runner[52813:1608248] flutter: #13 runApp (package:flutter/src/widgets/binding.dart:704:7)
2018-05-01 10:17:34.816566-0700 Runner[52813:1608248] flutter: #14 main (file:///Users/jeanpaul/Dev/flutter_audio/example/lib/main.dart:7:3)
2018-05-01 10:17:34.817113-0700 Runner[52813:1608248] flutter: #15 _startIsolate. (dart:isolate/runtime/libisolate_patch.dart:279:19)
2018-05-01 10:17:34.817693-0700 Runner[52813:1608248] flutter: #16 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
2018-05-01 10:17:34.818300-0700 Runner[52813:1608248] flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
Run flutter analyze and attach any output of that command also.

Flutter Doctor

144:example jeanpaul$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.3.1, on Mac OS X 10.13.4 17E199, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
[✓] Android Studio (version 3.1)
[✓] VS Code (version 1.22.2)
[✓] Connected devices (3 available)

For more information about diagnosing and reporting Flutter bugs, please see https://flutter.io/bug-reports/.

error in opening zip file

error like this when i try to implement this

Exception in thread "main" java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:225)
at java.util.zip.ZipFile.(ZipFile.java:155)
at java.util.zip.ZipFile.(ZipFile.java:169)
at org.gradle.wrapper.Install.unzip(Install.java:214)
at org.gradle.wrapper.Install.access$600(Install.java:27)
at org.gradle.wrapper.Install$1.call(Install.java:74)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
[!] Gradle threw an error while trying to update itself. Retrying the update...
Exception in thread "main" java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:225)
at java.util.zip.ZipFile.(ZipFile.java:155)
at java.util.zip.ZipFile.(ZipFile.java:169)
at org.gradle.wrapper.Install.unzip(Install.java:214)
at org.gradle.wrapper.Install.access$600(Install.java:27)
at org.gradle.wrapper.Install$1.call(Install.java:74)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
[!] Gradle threw an error while trying to update itself. Retrying the update...
Gradle task assembleDebug failed with exit code 1

Doesn't Work on Android

I can't get it to run on Android, it constantly shows No Permissions, which is a bit annoying. Can you please look into this ?

Consider using strongly typed classes for the callback and other parts of the Dart API

Currently the callback is dynamic which can easily lead to errors at runtime instead of at compile time. It also requires the developer using this library to refer to the readme and copy strings into their codebase, instead of letting the type system handle it.

As an example, you could have a AudioCallback. AudioCallback could have an enum of the event type as one field, and T as the event data.

A different way of doing it could be to have individual callback functions, instead of one where the developer needs to check the type. Eg onRecordingStarted(RecordingStarted event).

This also goes for other parts of the API. Instead of startPlay taking a dynamic map, why not leverage the type system and take:

class StartPlayingArgs {
    String fileId;
    double position;
}

Just when writing that class I already was confused, since in the readme for startPlay it mentions the params should be Map<String, String>, but in the table below it mentions position should be a double. Which is it? Let the type system handle it instead of the readme.

This doesn't even go into the fact that you lose autocomplete if you use dynamic, which also reduces the speed a dev can write code with the library.

Example do not work

I'm trying to play a bit with your plugin but I can't get example running.
Recording seems to be working as I can see feedback with power of microphone,
calling startPlay method returns FAIL.

I use SDK 27, Flutter: 0.1.5

I/flutter ( 8509): PARAMS{file: 1521839341296, position: 0.0}
E/MethodChannel#medcorder_audio( 8509): Failed to handle method call
E/MethodChannel#medcorder_audio( 8509): java.lang.NullPointerException: context param can not be null.
E/MethodChannel#medcorder_audio( 8509): 	at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1036)
E/MethodChannel#medcorder_audio( 8509): 	at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1003)
E/MethodChannel#medcorder_audio( 8509): 	at android.media.MediaPlayer.create(MediaPlayer.java:910)
E/MethodChannel#medcorder_audio( 8509): 	at android.media.MediaPlayer.create(MediaPlayer.java:887)
E/MethodChannel#medcorder_audio( 8509): 	at android.media.MediaPlayer.create(MediaPlayer.java:866)
E/MethodChannel#medcorder_audio( 8509): 	at co.medcorder.medcorderaudio.MedcorderAudioPlugin.startPlay(MedcorderAudioPlugin.java:227)
E/MethodChannel#medcorder_audio( 8509): 	at co.medcorder.medcorderaudio.MedcorderAudioPlugin.onMethodCall(MedcorderAudioPlugin.java:90)
E/MethodChannel#medcorder_audio( 8509): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:191)
E/MethodChannel#medcorder_audio( 8509): 	at io.flutter.view.FlutterNativeView.handlePlatformMessage(FlutterNativeView.java:133)
E/MethodChannel#medcorder_audio( 8509): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#medcorder_audio( 8509): 	at android.os.MessageQueue.next(MessageQueue.java:325)
E/MethodChannel#medcorder_audio( 8509): 	at android.os.Looper.loop(Looper.java:142)
E/MethodChannel#medcorder_audio( 8509): 	at android.app.ActivityThread.main(ActivityThread.java:6494)
E/MethodChannel#medcorder_audio( 8509): 	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#medcorder_audio( 8509): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
E/MethodChannel#medcorder_audio( 8509): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
I/flutter ( 8509): startPlay: fail

Would you be able to help with it?
Many Thanks


# Edit:

I found the issue:
there is context assignment missing in plugin java file MedcorderAudioPlugin.java

You just need to update it so it is:

 MedcorderAudioPlugin(Activity _activity) {
    this.activity = _activity;
    this.context = activity.getApplicationContext();
  }

android can't play

E/ExtMediaPlayer-JNI(29685): env->IsInstanceOf fails
E/MediaPlayer-JNI(29685): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
E/ExtMediaPlayer-JNI(29685): env->IsInstanceOf fails
E/MediaPlayer-JNI(29685): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
E/MethodChannel#medcorder_audio(29685): Failed to handle method call
E/MethodChannel#medcorder_audio(29685): java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ContentResolver android.content.Context.getContentResolver()' on a null object reference
E/MethodChannel#medcorder_audio(29685): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:989)
E/MethodChannel#medcorder_audio(29685): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:971)
E/MethodChannel#medcorder_audio(29685): at android.media.MediaPlayer.create(MediaPlayer.java:878)
E/MethodChannel#medcorder_audio(29685): at android.media.MediaPlayer.create(MediaPlayer.java:855)
E/MethodChannel#medcorder_audio(29685): at android.media.MediaPlayer.create(MediaPlayer.java:834)
E/MethodChannel#medcorder_audio(29685): at co.medcorder.medcorderaudio.MedcorderAudioPlugin.startPlay(MedcorderAudioPlugin.java:227)
E/MethodChannel#medcorder_audio(29685): at co.medcorder.medcorderaudio.MedcorderAudioPlugin.onMethodCall(MedcorderAudioPlugin.java:90)
E/MethodChannel#medcorder_audio(29685): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:191)
E/MethodChannel#medcorder_audio(29685): at io.flutter.view.FlutterNativeView.handlePlatformMessage(FlutterNativeView.java:136)
E/MethodChannel#medcorder_audio(29685): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#medcorder_audio(29685): at android.os.MessageQueue.next(MessageQueue.java:323)
E/MethodChannel#medcorder_audio(29685): at android.os.Looper.loop(Looper.java:142)
E/MethodChannel#medcorder_audio(29685): at android.app.ActivityThread.main(ActivityThread.java:6361)
E/MethodChannel#medcorder_audio(29685): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#medcorder_audio(29685): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/MethodChannel#medcorder_audio(29685): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
I/flutter (29685): startPlay: fail

Null safety?

When the version compatible with Null Safety is expected?

MissingPluginException in IOS(v0.0.5)

Flutter: ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
flutter: The following MissingPluginException was thrown while activating platform stream on channel
flutter: medcorder_audio_events:
flutter: MissingPluginException(No implementation found for method listen on channel medcorder_audio_events)

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.