sarbagyastha / youtube_player_flutter

A Flutter plugin for inline playback or streaming of YouTube videos using the official iFrame Player API.
https://youtube.sarbagyastha.com.np
BSD 3-Clause "New" or "Revised" License
693 stars 787 forks source link

Unhandled Exception: MissingPluginException(No implementation found for method create on channel flutter/platform_views) #566

Open namankk opened 2 years ago

namankk commented 2 years ago

Describe the bug I am using flutter module as addToApp in my android application this error occur when i try to use youtube_player_flutter: ^8.0.0 Library the video keeps on loading never gets loaded and when i run the flutter module separately it works fine but it didn't work when i run it from android module

Technical Details:

Error Logs E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method create on channel flutter/platform_views)

0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)

<asynchronous suspension>
#1      AndroidViewController._create (package:flutter/src/services/platform_views.dart:640:54)
#2      AndroidViewController.setSize (package:flutter/src/services/platform_views.dart:557:14)
#3      RenderAndroidView._sizePlatformView (package:flutter/src/rendering/platform_view.dart:174:29)
#4      RenderAndroidView.performResize (package:flutter/src/rendering/platform_view.dart:155:5)
#5      RenderObject.layout (package:flutter/src/rendering/object.dart:1703:9)
#6      RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#7      RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#8      RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#9      RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#10     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#11     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#12     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:505:15)
#13     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#14     RenderAspectRatio.performLayout (package:flutter/src/rendering/proxy_box.dart:520:13)
#15     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#16     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#17     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#18     RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:259:13)
#19     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#20     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#21     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#22     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#23     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1232:11)
#24     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#25     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:206:11)
#26     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#27     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:163:11)
#28     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:477:7)
#29     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:232:7)
#30     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:391:14)
#31     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#32     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#33     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#34     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#35     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1232:11)
#36     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#37     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#38     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#39     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#40     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
#41     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
#42     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
parascse commented 2 years ago

Facing same issue, youtube player keeps loading when opened from android app, while it works when running directly from flutter module.

mariamalbarghouti commented 2 years ago

install flutter_inappwebview in pub get

lilao6 commented 1 year ago

I have also encountered the same problem.

lilao6 commented 1 year ago

我找到了原因,是因为我在安卓中使用viewpage,InAppWebview只是被嵌入到其中一个页面了,启动程序的时候,flutter引擎被初始化了,但是还没有展示在界面上,导致通信失败,后续就一直失败了

Nikzed commented 1 year ago

same issue, freezes an application ui

Nikzed commented 1 year ago

So this answer made it work for me https://stackoverflow.com/a/74835030/10766511 . Just set the useHybridComposition to false Example:

YoutubePlayer(
  controller: YoutubePlayerController(
    initialVideoId: videoModel.url,
    flags: const YoutubePlayerFlags(
        useHybridComposition: false,
        mute: false,
        autoPlay: true,
        disableDragSeek: true,
        loop: false,
        isLive: false,
        forceHD: false,
        enableCaption: false,
        showLiveFullscreenButton:
            false),
  ),
  showVideoProgressIndicator: true,
  progressIndicatorColor:
      colorScheme.secondary,
  progressColors: progressColors,
),
hajini commented 5 months ago

I tried to install flutter_inappwebview and add 'useHybridComposition: false'. but it still makes error. In my case, this error is generated when I dispose the Widget including YoutubePlayer.