Youtube Player Plugin
This plugin is discontinued. Please use youtube_player_flutter which is an officially provided way of playing youtube videos, supporting both Android and iOS platforms.
This plugin is discontinued. Please use youtube_player_flutter which is an officially provided way of playing youtube videos, supporting both Android and iOS platforms.
Hey everyone. My issue is that once the video is about to start only the thumbnail shows up and then the app crashes. I am using android emulator for testing with sdk 28 installed and in gradel min sdk 26 and targeted sdk 27.
here's the callback that i get.
`Launching lib\main.dart on Android SDK built for x86 in debug mode...
Built build\app\outputs\apk\debug\app-debug.apk.
D/EGL_emulation(17127): eglMakeCurrent: 0xebe27580: ver 2 0 (tinfo 0xf1f50e60)
I/flutter (17127): Youtube Video Id: 54fea7wuV6s
D/ (17127): HostConnection::get() New Host Connection established 0xec117600, tid 17153
D/EGL_emulation(17127): eglMakeCurrent: 0xebe276a0: ver 2 0 (tinfo 0xec103350)
I/flutter (17127): Youtube Video Id: 54fea7wuV6s
I/System.out(17127): Keeping screen on
E/flutter (17127): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(40)] java.lang.BootstrapMethodError: Exception from call site #68 bootstrap method
E/flutter (17127): at com.google.android.exoplayer2.util.SlidingPercentile.
Build fingerprint: 'google/sdk_gphone_x86/generic_x86:9/PSR1.180720.075/5124027:user/release-keys' Revision: '0' ABI: 'x86' pid: 17127, tid: 17127, name: .example.ytdemo >>> com.example.ytdemo <<< signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(77)] Check failed: CheckException(env). ' eax 00000000 ebx 000042e7 ecx 000042e7 edx 00000006 edi 000042e7 esi 00000070 ebp fffb4e28 esp fffb4dc8 eip f6a0eb39 backtrace: #00 pc 00000b39 [vdso:f6a0e000] (__kernel_vsyscall+9) #01 pc 0001fdf8 /system/lib/libc.so (syscall+40) #02 pc 00022ed3 /system/lib/libc.so (abort+115) #03 pc 0065a862 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000) #04 pc 0064c8e0 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000) #05 pc 0064b773 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000) #06 pc 006955e5 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000) #07 pc 0065c737 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000) #08 pc 0065c682 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000) #09 pc 0065e9ee /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000) #10 pc 00012a77 /system/lib/libutils.so (android::SimpleLooperCallback::handleEvent(int, int, void*)+39) #11 pc 00013896 /system/lib/libutils.so (android::Looper::pollInner(int)+998) #12 pc 0001340b /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+43) #13 pc 000e414b /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59) #14 pc 003ddb28 /system/framework/x86/boot-framework.oat (offset 0x3ca000) (android.media.MediaExtractor.seekTo [DEDUPED]+136) #15 pc 000011e6 /dev/ashmem/dalvik-jit-code-cache (deleted) (android.os.MessageQueue.next+230) #16 pc 005f0b82 /system/lib/libart.so (art_quick_invoke_stub+338) #17 pc 000a30ce /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+222) #18 pc 0029bca2 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+338) #19 pc 00293e48 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1048) #20 pc 005bc493 /system/lib/libart.so (MterpInvokeVirtual+691) #21 pc 005e2d21 /system/lib/libart.so (ExecuteMterpImpl+14241) #22 pc 00aea944 /system/framework/boot-framework.vdex (android.os.Looper.loop+128) #23 pc 00266216 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+598) #24 pc 0026c79c /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220) #25 pc 00293e2b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019) #26 pc 005bdc5f /system/lib/libart.so (MterpInvokeStatic+207) #27 pc 005e2ea1 /system/lib/libart.so (ExecuteMterpImpl+14625) #28 pc 00384ca2 /system/framework/boot-framework.vdex (android.app.ActivityThread.main+214) #29 pc 00266216 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+598) #30 pc 0026c68e /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+126) #31 pc 005a953d /system/lib/libart.so (artQuickToInterpreterBridge+1277) #32 pc 005f6c6d /system/lib/libart.so (art_quick_to_interpreter_bridge+77) #33 pc 005f0d52 /system/lib/libart.so (art_quick_invoke_static_stub+418) #34 pc 000a30df /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+239) #35 pc 004d3349 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+89) #36 pc 004d502e /system/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+1422) #37 pc 00449783 /system/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+83) #38 pc 0011d778 /system/framework/x86/boot.oat (offset 0x114000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+168) #39 pc 005f0b82 /system/lib/libart.so (art_quick_invoke_stub+338) #40 pc 000a30ce /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+222) #41 pc 0029bca2 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+338) #42 pc 00293e48 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1048) #43 pc 005bc493 /system/lib/libart.so (MterpInvokeVirtual+691) #44 pc 005e2d21 /system/lib/libart.so (ExecuteMterpImpl+14241) #45 pc 00c0b7d2 /system/framework/boot-framework.vdex (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22) #46 pc 00266216 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+598) #47 pc 0026c68e /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+126) #48 pc 005a953d /system/lib/libart.so (artQuickToInterpreterBridge+1277) #49 pc 005f6c6d /system/lib/libart.so (art_quick_to_interpreter_bridge+77) #50 pc 00badc3c /system/framework/x86/boot-framework.oat (offset 0x3ca000) (com.android.internal.os.ZygoteInit.main+3100) #51 pc 005f0d52 /system/lib/libart.so (art_quick_invoke_static_stub+418) #52 pc 000a30df /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+239) #53 pc 004d3349 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+89) #54 pc 004d2fcd /system/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, char*)+429) #55 pc 003a784d /system/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+925) #56 pc 000d9273 /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, char*, art::Primitive::Type, art::InvokeType)+2867) #57 pc 000c6d29 /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+73) #58 pc 0007097e /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+62) #59 pc 00073e78 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+744) #60 pc 00001bb2 /system/bin/app_process32 (main+1506) #61 pc 000c0f54 /system/lib/libc.so (__libc_init+100) Lost connection to device. Exited (sigterm) `
Can anyone please help with this issue. Thank you.
After updating the player to V.0.7.2 the app would show me an error on the screen. "NosuchMethodError: The method 'call' was called on null. I/flutter ( 5688): Receiver: null I/flutter ( 5688): Tried calling: call(Instance of 'YoutubePlayerController')"
And on the Debug console
"
I/flutter ( 5688): #397 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.attachRootWidget package:flutter/…/widgets/binding.dart:712 I/flutter ( 5688): #398 runApp package:flutter/…/widgets/binding.dart:756 I/flutter ( 5688): #399 main package:yt_demo/main.dart:6 I/flutter ( 5688): #400 _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:289:19) I/flutter ( 5688): #401 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12) I/flutter ( 5688): ════════════════════════════════════════════════════════════════════════════════════════════════════
"
it looks like the error is caused by this line in the youtube_player.dart (
widget.callbackController(_youtubePlayerControllerController);
Line: 820
).
After i comment the line the error goes away but the player and the app in general start to behave in a weird way.. for instance. the player won't dispose when i leave the current page and the video would take alot of time to start. Hope you can fix this issue.
P.S. i have updated directly from 0.6.1 to 0.7.2 .. by changing the plugin number in "pubspec.yaml" and right after that it started to show me this error.
Youtube Video Id: 7QUtEmBT_-w E/flutter ( 8842): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method init on channel sarbagyastha.com.np/youtubePlayer) E/flutter ( 8842): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:300:7)
My project is Android mixed with Flutter, the Flutter project is dependent on the android project as a moudle, causing this problem:
[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method init on channel sarbagyastha.com.np/youtubePlayer)
#0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:300:7)
<asynchronous suspension>
#1 _channel (package:youtube_player/youtube_player.dart:17:9)
#2 _channel (package:youtube_player/youtube_player.dart:15:21)
#3 YoutubePlayer.keepOn (package:youtube_player/youtube_player.dart:745:36)
#4 _YoutubePlayerState.build (package:youtube_player/youtube_player.dart:830:21)
#5 StatefulElement.build (package:flutter/src/widgets/framework.dart:3825:27)
#6 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3736:15)
#7 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#8 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
#9 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11)
#10 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
#11 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
#12 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4982:32)
#13 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
#14 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
#15 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14)
#16 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
#18 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#19 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5)
#20 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
#22 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#23 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5)
#24 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#25 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4601:32)
#26 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992:17)
#27 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#28 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
#29 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#30 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5)
#31 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#32 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
#33 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#34 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5)
#35 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#36 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
#37 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#38 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5)
#39 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#40 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14)
#41 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#42 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
#43 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#44 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5)
#45 Element.updateChild (package:flutter/src/widgets/fra
basically im taking the youtube id from the home route and building a route to another widget to display the youtube video and some data about that video,but when i come back to the original home route the app is crashing,this is what im getting:
The following assertion was thrown while dispatching notifications for VideoPlayerController:
I/flutter ( 7412): 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3485 pos 12:
I/flutter ( 7412): '_debugLifecycleState != _ElementLifecycle.defunct': is not true.
I/flutter ( 7412): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter ( 7412): more information in this error message to help you determine and fix the underlying cause.
I/flutter ( 7412): In either case, please report this assertion by filing a bug on GitHub:
I/flutter ( 7412): https://github.com/flutter/flutter/issues/new?template=BUG.md
I/flutter ( 7412): When the exception was thrown, this was the stack:
I/flutter ( 7412): #2 Element.markNeedsBuild
package:flutter/…/widgets/framework.dart:3485
I/flutter ( 7412): #3 State.setState
package:flutter/…/widgets/framework.dart:1138
I/flutter ( 7412): #4 _ControlsState.initState.
Some ids doesn't load an results in the exo player throwing a http 403 exception
For example I can get this videoId to run: nQtQyhPAm0w But not this: 1k8craCGpgs
The error is the same in the 'Youtube Player Demo' application as in my own app.
E/BufferQueueProducer( 9696): [] Can not get hwsched service I/ExoPlayerImpl( 9696): Init 438f7fe [ExoPlayerLib/2.9.6] [HWFIG-H, FIG-LX1, HUAWEI, 26] I/YoutubePlayerPlugin( 9696): Quality: 240p WEBM I/YoutubePlayerPlugin( 9696): Media Type: GENERAL E/ExoPlayerImplInternal( 9696): Source error. E/ExoPlayerImplInternal( 9696): com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 403 E/ExoPlayerImplInternal( 9696): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:300) E/ExoPlayerImplInternal( 9696): at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:83) E/ExoPlayerImplInternal( 9696): at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:885) E/ExoPlayerImplInternal( 9696): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:381) E/ExoPlayerImplInternal( 9696): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) E/ExoPlayerImplInternal( 9696): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) E/ExoPlayerImplInternal( 9696): at java.lang.Thread.run(Thread.java:784)
If set a GlobalKey to the Widget, App will crash when pressing fullscreen.
A VideoPlayerController was used after being disposed.
Once you have called dispose() on a VideoPlayerController, it can no longer be used.
#0 ChangeNotifier._debugAssertNotDisposed.<anonymous closure> (package:flutter/src/foundation/change_notifier.dart:108:9)
#1 ChangeNotifier._debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:114:6)
#2 ChangeNotifier.removeListener (package:flutter/src/foundation/change_notifier.dart:169:12)
#3 _VideoPlayerState.deactivate (package:youtube_player/youtube_player.dart:523:23)
#4 StatefulElement.deactivate (package:flutter/src/widgets/framework.dart:3893:12)
#5 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1727:13)
#6 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4848:14)
#7 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1729:13)
#8 SingleChildRenderObjectElement.
bug
Steps to reproduce:
Expected result:
I am using this player for my app,when i play a video in full screen mode and if i long press(for 2 secs or so) the slider head,the player is exiting its full screen mode and going back to normal mode.
Slider head,By that i mean the the thing i circled in the image
When trying to implement this plugin I get the following error:
MissingPluginException(No implementation found for method keepOn on channel sarbagyastha.com.np/youtubePlayer)
#0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:300:7)
<asynchronous suspension>
#1 YoutubePlayer.keepOn (package:youtube_player/youtube_player.dart:745:45)
#2 _YoutubePlayerState.build (package:youtube_player/youtube_player.dart:830:21)
#3 StatefulElement.build (package:flutter/src/widgets/framework.dart:3825:27)
#4 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3736:15)
#5 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#6 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5)
#7 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
#8 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14)
#9 Element.updateChild (package:flutte<…>
[VERBOSE-2:shell.cc(178)] Dart Error: Unhandled exception:
MissingPluginException(No implementation found for method create on channel sarbagyastha.com.np/youtubePlayer)
#0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:300:7)
<asynchronous suspension>
#1 VideoPlayerController.initialize (package:youtube_player/youtube_player.dart:214:59)
<asynchronous suspension>
#2 _YoutubePlayerState.initializeYTController (package:youtube_player/youtube_player.dart:799:22)
#3 _YoutubePlayerState.build (package:youtube_player/youtube_player.dart:841:11)
#4 StatefulElement.build (package:flutter/src/widgets/framework.dart:3825:27)
#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3736:15)
#6 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
#7 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5)
#8 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)
This is with plugin version 3.2.0 on a fresh project where this is the only extra dependency. Code looks as follows:
import 'package:flutter/material.dart';
import 'package:youtube_player/youtube_player.dart';
class Home extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: Text('Test YT'),
),
body: Center(
child: YoutubePlayer(
context: context,
source: "https://www.youtube.com/watch?v=501-0od08t8",
quality: YoutubeQuality.HD,
),
),
);
}
}
I have also used just the video id.
I want to use this plugin to play some youtube videos in my app, but i want to ask first if this approach is against youtube policy because i'll add admob ads to my app. thanks for the great plugin
Got this error: youtube_player/lib/youtube_player.dart:1175:31: Error: No named parameter with the name 'isInitialRoute'.
I think isInitialRoute is deprecated after 1.14.1
class YouTube extends StatefulWidget { String id;
YouTube(this.id);
@override _YouTubeState createState() => _YouTubeState(); }
class _YouTubeState extends State
@override void initState() { _controller = YoutubePlayerController( initialVideoId: widget.id, flags: YoutubePlayerFlags( mute: false, autoPlay: false, forceHideAnnotation: true, ), ); super.initState(); }
@override Widget build(BuildContext context) { return YoutubePlayer( controller: _controller, showVideoProgressIndicator: true, onReady: () { print('Player is ready.'); }); } }
I tried this plugin for the first time
This is my code
Container( child: YoutubePlayer( source: videoSource, quality: YoutubeQuality.MEDIUM, aspectRatio: 16 / 9, showThumbnail: true, ), ),
Here is the result
I hope it will be fixed soon And I also hope the support for ios soon 😀
Thank you
Hallo flutter's I have the issue :
Access denied finding property "persist.report.tid" I/ExoPlayerImpl(24503): Init 28fea41 [ExoPlayerLib/2.10.3] [RMX1903, RMX1903, Realme, 29] I/flutter (24503): 1 I/ple.portal_des(24503): ProcessProfilingInfo new_methods=59 is saved saved_to_disk=1 resolve_classes_delay=5000 W/System.err(24503): java.io.FileNotFoundException: https://s.ytimg.com/yts/jsbin/null W/System.err(24503): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:255) W/System.err(24503): at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:211) W/System.err(24503): at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:30) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.decipherSignature(YouTubeExtractor.java:479) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.getStreamUrls(YouTubeExtractor.java:419) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.doInBackground(YouTubeExtractor.java:202) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.doInBackground(YouTubeExtractor.java:35) W/System.err(24503): at android.os.AsyncTask$3.call(AsyncTask.java:378) W/System.err(24503): at java.util.concurrent.FutureTask.run(FutureTask.java:266) W/System.err(24503): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) W/System.err(24503): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) W/System.err(24503): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) W/System.err(24503): at java.lang.Thread.run(Thread.java:919) W/System.err(24503): java.io.FileNotFoundException: https://s.ytimg.com/yts/jsbin/null W/System.err(24503): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:255) W/System.err(24503): at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:211) W/System.err(24503): at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:30) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.decipherSignature(YouTubeExtractor.java:479) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.getStreamUrls(YouTubeExtractor.java:419) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.doInBackground(YouTubeExtractor.java:202) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.doInBackground(YouTubeExtractor.java:35) W/System.err(24503): at android.os.AsyncTask$3.call(AsyncTask.java:378) W/System.err(24503): at java.util.concurrent.FutureTask.run(FutureTask.java:266) W/System.err(24503): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) W/System.err(24503): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) W/System.err(24503): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) W/System.err(24503): at java.lang.Thread.run(Thread.java:919) W/System.err(24503): java.io.FileNotFoundException: https://s.ytimg.com/yts/jsbin/null W/System.err(24503): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:255) W/System.err(24503): at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:211) W/System.err(24503): at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:30) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.decipherSignature(YouTubeExtractor.java:479) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.getStreamUrls(YouTubeExtractor.java:419) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.doInBackground(YouTubeExtractor.java:202) W/System.err(24503): at at.huber.youtubeExtractor.YouTubeExtractor.doInBackground(YouTubeExtractor.java:35) W/System.err(24503): at android.os.AsyncTask$3.call(AsyncTask.java:378) W/System.err(24503): at java.util.concurrent.FutureTask.run(FutureTask.java:266) W/System.err(24503): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) W/System.err(24503): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) W/System.err(24503): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) W/System.err(24503): at java.lang.Thread.run(Thread.java:919)
Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, v1.12.13+hotfix.8, on Mac OS X 10.15.3 19D76, locale en-ID) [✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3) [✓] Android Studio (version 3.5) [✓] VS Code (version 1.42.1) [✓] Connected device (1 available)
Please help me to fix it with the error :')
Migrated to androidx library
Source code(tar.gz)* (Fixed) Defining controller is optional now.
* (Fixed) Video not disposing issue.
* Video loads and plays lot more faster than in previous versions.
* Availability of controller outside the player, for in-depth customizations and events access
* (FIXED) Aspect ratio and orientation problem in videos.
* (UNDER THE HOOD) Optimized Youtube Stream Link generation.
* (UNDER THE HOOD) Reduced dependencies. Significant reduction in code reference.
* Added controls customization.
Source code(tar.gz)YouTube Video Player YouTube Video Player is built in FLUTTER ?? & DART ?? Motivation As this project uses YouTube Data API v3, motivation for this pr
Flutter plugin for playing or streaming YouTube videos inline using the official iFrame Player API. The package exposes almost all the API provided by iFrame Player API. So, it's 100% customizable.
vimeo_video_player A Video Player For Vimeo Videos in Flutter. This plugin allow us to play video from vimeo and it's supports Android and iOS platfor
netflix_flutter project_using_bloc packages Used flutter_bloc json_serializable get_it dio A few resources to get you started if this is your first Fl
Youtube App ✍?? Youtube App Clone with GetX & Youtube Data Api V3 [MVC pattern] ?????? Youtube App app is open-source Youtube App app for Android & i
PsTube - Formerly FluTube Watch and download videos without ads Features Beautiful user interface Lightweight and fast No Login Required Keep your lik
Flutter_YouTube_MP3 App A Simple app To Download mp3 Videos From YouTube ❤️ Found this project useful? If you found this project useful, then please c
Dart Code Metrics Note: you can find the full documentation on the website Configuration | Rules | Metrics | Anti-patterns Dart Code Metrics is a stat
This document describes how to quickly run the TRTC demo for Flutter. Environmen
dosdownloader Dos downloader app is developed for downloading video. You can download video from YouTube and Facebook. You can also play video on back
FindCaption Find Caption adalah aplikasi yang berfungsi untuk mencari posisi tra
Google Play Store Scraper Dart and Flutter Google Play Store Scraper for flutter and dart helps you to get apks information from google play store. Im
youtube_downloader A Windows App made in Flutter to download mp3 or mp4 from a Y
Tagtly package help you to detect a lot of hyperlink text such as.. email, url, social media tags, hashtag and more either when user type in text field or when appear a text read only.
Fast, Enjoyable & Secure NoSQL Database Hive is a lightweight and blazing fast key-value database written in pure Dart. Inspired by Bitcask. Documenta
Fast, Enjoyable & Secure NoSQL Database Hive is a lightweight and blazing fast key-value database written in pure Dart. Inspired by Bitcask. Documenta
get_storage A fast, extra light and synchronous key-value in memory, which backs up data to disk at each operation. It is written entirely in Dart and
some calendar Custom calendar with Multi-select & range configurable calendar New Features Added View Mode Somecalendar #15 Help Maintenance I've take
Flutter Tutorial - Flutter Keys - Unique Key Use the Flutter Unique Key To Prese