Reputation: 6082
I just want to add audio_service
https://pub.dartlang.org/packages/audio_service#-readme-tab- to my App.
For play audio. But didn't get success.
Basically, I'm iOS developer so don't know much about android setup.
Where I have to create, MainApplication and If I try to change AndroidManifest.xml
It give error message because android:name=".MainApplication"
. How it possible to change android:name. Flutter won't allow.
Please help me for android setup.
EDITED:
odChannel#ryanheise.com/audioService( 8223): Failed to handle method call
E/MethodChannel#ryanheise.com/audioService( 8223): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.media.session.MediaControllerCompat.addQueueItem(android.support.v4.media.MediaDescriptionCompat, int)' on a null object reference
E/MethodChannel#ryanheise.com/audioService( 8223): at com.ryanheise.audioservice.AudioServicePlugin$ClientHandler.onMethodCall(AudioServicePlugin.java:392)
E/MethodChannel#ryanheise.com/audioService( 8223): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:201)
E/MethodChannel#ryanheise.com/audioService( 8223): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:88)
E/MethodChannel#ryanheise.com/audioService( 8223): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:202)
E/MethodChannel#ryanheise.com/audioService( 8223): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#ryanheise.com/audioService( 8223): at android.os.MessageQueue.next(MessageQueue.java:329)
E/MethodChannel#ryanheise.com/audioService( 8223): at android.os.Looper.loop(Looper.java:142)
E/MethodChannel#ryanheise.com/audioService( 8223): at android.app.ActivityThread.main(ActivityThread.java:6375)
E/MethodChannel#ryanheise.com/audioService( 8223): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#ryanheise.com/audioService( 8223): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
E/MethodChannel#ryanheise.com/audioService( 8223): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
E/flutter ( 8223): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(error, Attempt to invoke virtual method 'void android.support.v4.media.session.MediaControllerCompat.addQueueItem(android.support.v4.media.MediaDescriptionCompat, int)' on a null object reference, null)
E/flutter ( 8223): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:564:7)
E/flutter ( 8223): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:302:33)
E/flutter ( 8223): <asynchronous suspension>
E/flutter ( 8223): #2 AudioService.addQueueItemAt (package:audio_service/audio_service.dart:481:10)
E/flutter ( 8223): <asynchronous suspension>
E/flutter ( 8223): #3 _MyAppState.initializeAndroidPlayer (package:audio_player_service_example/main.dart:159:18)
E/flutter ( 8223): <asynchronous suspension>
E/flutter ( 8223): #4 _MyAppState.initState (package:audio_player_service_example/main.dart:124:5)
E/flutter ( 8223): #5 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3851:58)
E/flutter ( 8223): #6 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3716:5)
E/flutter ( 8223): #7 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #8 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #9 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #10 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #11 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #12 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3752:16)
E/flutter ( 8223): #13 Element.rebuild (package:flutter/src/widgets/framework.dart:3564:5)
E/flutter ( 8223): #14 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 8223): #15 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3716:5)
E/flutter ( 8223): #16 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #17 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #18 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #19 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #20 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #21 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #22 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #23 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #24 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #25 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #27 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #28 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #29 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #30 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3752:16)
E/flutter ( 8223): #31 Element.rebuild (package:flutter/src/widgets/framework.dart:3564:5)
E/flutter ( 8223): #32 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 8223): #33 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3869:11)
E/flutter ( 8223): #34 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3716:5)
E/flutter ( 8223): #35 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #36 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #37 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3752:16)
E/flutter ( 8223): #38 Element.rebuild (package:flutter/src/widgets/framework.dart:3564:5)
E/flutter ( 8223): #39 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 8223): #40 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3716:5)
E/flutter ( 8223): #41 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #42 Element.updateChild (package:flutter/src/widgets/f
E/flutter ( 8223): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method initPlayerQueue on channel audio_player_service)
E/flutter ( 8223): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:300:7)
E/flutter ( 8223): <asynchronous suspension>
E/flutter ( 8223): #1 AudioPlayer.initPlayerQueue (package:audio_player_service/audio_player.dart:250:19)
E/flutter ( 8223): <asynchronous suspension>
E/flutter ( 8223): #2 _MyAppState.initPlayer (package:audio_player_service_example/main.dart:148:23)
E/flutter ( 8223): <asynchronous suspension>
E/flutter ( 8223): #3 _MyAppState.initState (package:audio_player_service_example/main.dart:126:5)
E/flutter ( 8223): #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3851:58)
E/flutter ( 8223): #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3716:5)
E/flutter ( 8223): #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #7 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #8 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #10 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #11 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3752:16)
E/flutter ( 8223): #12 Element.rebuild (package:flutter/src/widgets/framework.dart:3564:5)
E/flutter ( 8223): #13 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 8223): #14 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3716:5)
E/flutter ( 8223): #15 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #16 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #17 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #18 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #19 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #20 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #21 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #22 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #23 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #24 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #25 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #26 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4881:14)
E/flutter ( 8223): #27 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #28 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #29 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3752:16)
E/flutter ( 8223): #30 Element.rebuild (package:flutter/src/widgets/framework.dart:3564:5)
E/flutter ( 8223): #31 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 8223): #32 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3869:11)
E/flutter ( 8223): #33 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3716:5)
E/flutter ( 8223): #34 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #36 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3752:16)
E/flutter ( 8223): #37 Element.rebuild (package:flutter/src/widgets/framework.dart:3564:5)
E/flutter ( 8223): #38 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3721:5)
E/flutter ( 8223): #39 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3716:5)
E/flutter ( 8223): #40 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2960:14)
E/flutter ( 8223): #41 Element.updateChild (package:flutter/src/widgets/framework.dart:2763:12)
E/flutter ( 8223): #42 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3752:16)
E/flutter ( 8223): #43 Element.rebuild (package:flutter/src/widgets/framework.dart:3564:5)
E/flutter ( 8223): #44 ComponentElement._firs
Upvotes: 1
Views: 1546
Reputation: 121
I am attempting the same thing, and when I add the service and receiver tags to AndroidManifest.xml, I am getting an error, which might be the same problem you are having:
Class referenced in the manifest, com.ryanheise.audioservice.AudioService, was not found in the project or the libraries / Unresolved package 'audioservice'
And yes, I have audio_service as a dependency in my pubspec.yaml, and yes I did Pub Get.
I don't know why this error is happening, but I can't imagine that audio_service could run without this.
Upvotes: 2
Reputation: 267664
You can create MainApplication
class in Android studio. Take a look at these screenshots.
Upvotes: 1
Reputation: 264
Just add this right before the </application>
in the AndroidManifest.xml
file.
<service android:name="com.ryanheise.audioservice.AudioService">
<intent-filter>
<action android:name="android.media.browse.MediaBrowserService" />
</intent-filter>
</service>
<receiver android:name="android.support.v4.media.session.MediaButtonReceiver" >
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
Upvotes: 2