Giter Site home page Giter Site logo

sarbagyastha / youtube_player Goto Github PK

View Code? Open in Web Editor NEW
120.0 8.0 45.0 26.63 MB

A flutter plugin to play Youtube Videos without API Key in range of Quality(144p, 240p,360p,480p,720p and 1080p).

License: MIT License

Java 33.23% Objective-C 1.36% Dart 64.81% Ruby 0.60%
youtube-player inline flutter-plugin android-youtube-player flutter-youtube-player flutter-video-player youtube-player-library youtube-player-api dart-library ios-youtube

youtube_player's Introduction

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.

youtube_player's People

Contributors

sarbagyastha 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

youtube_player's Issues

An issue with the player on 0.7.2 .. "the method was called on null"

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.

Video stretches

If the video on youtube is in portrait then it stretches in your plugin which should not be done it show the portrait video as shown on youtube.

Video does'nt play if the thumb dimensions & video dimensions are different

I found a weird bug while trying to figure out why some videos were not playing.
I tried with few videos and also saw their meta data and I found out that videos that have different resolutions of thumbnail & video, does'nt play.

for example:

this video plays:
https://www.youtube.com/watch?v=mPQOizLReVU
thumb:480x270
video:480x270

this does'nt:
https://www.youtube.com/watch?v=fyHe9L2df_g
thumb:480x360
video:480x270

for analysis:
https://www.youtube.com/oembed?url=**YOUTUBE_URL**&format=xml

paste youtube url in above link and see for yourself

VideoPlayerController, can no longer be used Error. [3.0.2]

Hello there..
Well right after i go from one page to another calling (Navigator.of(context).pushReplacement())... the Debug Console gives me this error.

I/flutter (19833): ══╡ EXCEPTION CAUGHT BY FOUNDATION LIBRARY ╞════════════════════════════════════════════════════════ I/flutter (19833): The following assertion was thrown while dispatching notifications for VideoPlayerController: I/flutter (19833): 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3473 pos 12: I/flutter (19833): '_debugLifecycleState != _ElementLifecycle.defunct': is not true. I/flutter (19833): I/flutter (19833): Either the assertion indicates an error in the framework itself, or we should provide substantially I/flutter (19833): more information in this error message to help you determine and fix the underlying cause. I/flutter (19833): In either case, please report this assertion by filing a bug on GitHub: I/flutter (19833): https://github.com/flutter/flutter/issues/new?template=BUG.md I/flutter (19833): .......

I think it has something to do with VideoPlayerController. I've tried defining (CallbackController) with a VideoPlayerController _controller;.. But it doesn't seem to fix the issue. the app doesn't crash or stop it just pauses and you have to click on the play button on the debugger to keep scrolling through the app.

App crashes when pressing fullscreen

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.

Video does not stops when we press back button

import 'package:flutter/material.dart';
import 'package:youtube_player/youtube_player.dart';

class YTPlayer extends StatefulWidget {
final String videoID;
YTPlayer({this.videoID});
@OverRide
_YTPlayerState createState() => _YTPlayerState();
}

class _YTPlayerState extends State {
Widget youtubeplay() => YoutubePlayer(
source: widget.videoID,
quality: YoutubeQuality.HD,
aspectRatio: 16 / 9,
showThumbnail: true,
bufferedColor: Colors.grey,
playedColor: Colors.blue,
loop: false,
);

@OverRide
void dispose() {
super.dispose();
youtubeplay();
}

@OverRide
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(
title: Text('Player'),
),
body: Container(
child: Column(
children: [
Card(
child: Center(
child: youtubeplay(),
),
)
],
),
),
);
}

Can't play some video Ids. Source error and a http 403 exception.

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)

stream error

i can't paste youtube stream, you can fix it?

Syncing files to device Android SDK built for x86...
I/flutter (21140): built
I/flutter (21140): sxPwMuMSzUM
I/flutter (21140): sxPwMuMSzUM
D/ (21140): HostConnection::get() New Host Connection established 0xe4ecd2c0, tid 21159
D/EGL_emulation(21140): eglMakeCurrent: 0xdd7a8960: ver 3 1 (tinfo 0xdd8693a0)
I/flutter (21140): built
I/flutter (21140): sxPwMuMSzUM
I/flutter (21140): sxPwMuMSzUM
I/System.out(21140): Keeping screen on
W/nockknock.knoc(21140): Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (light greylist, reflection)
I/ExoPlayerImpl(21140): Init dae21cf [ExoPlayerLib/2.9.1] [generic_x86, Android SDK built for x86, Google, 28]
D/NetworkSecurityConfig(21140): No Network Security Config specified, using platform default
W/VideoCapabilities(21140): Unrecognized profile 4 for video/hevc
I/VideoCapabilities(21140): Unsupported profile 4 for video/mp4v-es
I/OMXClient(21140): IOmx service obtained
D/SurfaceUtils(21140): connecting to surface 0xc3f5c008, reason connectToSurface
I/MediaCodec(21140): [OMX.google.h264.decoder] setting surface generation to 21647361
D/SurfaceUtils(21140): disconnecting from surface 0xc3f5c008, reason connectToSurface(reconnect)
D/SurfaceUtils(21140): connecting to surface 0xc3f5c008, reason connectToSurface(reconnect)
E/ACodec (21140): [OMX.google.h264.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010
I/ACodec (21140): codec does not support config priority (err -1010)
I/OMXClient(21140): IOmx service obtained
I/ACodec (21140): codec does not support config priority (err -2147483648)
I/ACodec (21140): codec does not support config operating rate (err -2147483648)
D/MediaCodec(21140): [OMX.google.h264.decoder] setting dataspace on output surface to #103
W/MapperHal(21140): buffer descriptor with invalid usage bits 0x2000
D/ (21140): HostConnection::get() New Host Connection established 0xc531cd80, tid 21180
D/SoftwareRenderer(21140): setting dataspace on output surface to #103
W/MapperHal(21140): buffer descriptor with invalid usage bits 0x2000
W/MapperHal(21140): buffer descriptor with invalid usage bits 0x2000
W/MapperHal(21140): buffer descriptor with invalid usage bits 0x2000
I/OMXClient(21140): IOmx service obtained
I/ACodec (21140): codec does not support config priority (err -2147483648)
I/ACodec (21140): codec does not support config operating rate (err -2147483648)

Some of the videos are not playing

Hi, I tried to play the following video id, vlkNcHDFnGA, it is not getting played while other videos are playing. A bit of recap, when I tried the same video id as an embedded iframe on my website as well I had the same experience (i.e. it didn't play) untit I hosted my website under https, as the adwords are loaded only under https host.

I have the same experience with the youtube_player plugin as well, is there a way to load the video, really appreciate if your help.

Thanks

Unhandled Exception: MissingPluginException(No implementation found for method init on channel sarbagyastha.com.np/youtubePlayer)

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

Play and pause on video screen

Hi,

The default player has only have play button on the middle of the screen. Can we have also the pause on middle of the screen. Since these two are the common features and to be more efficient.

Thank you

Could you add 144p resolution support?

I think you should change only

enum YoutubeQuality { LOWEST, LOW, MEDIUM, HIGH, HD, FHD }

AND

  String qualityMapping(YoutubeQuality quality) {
    switch (quality) {
      case YoutubeQuality.LOWEST:
        return '144p';
      case YoutubeQuality.LOW:
        return '240p';
      case YoutubeQuality.MEDIUM:
        return '360p';
      case YoutubeQuality.HIGH:
        return '480p';
      case YoutubeQuality.HD:
        return '720p';
      case YoutubeQuality.FHD:
        return '1080p';
      default:
        return "Invalid Quality";
    }
  }

App crashes once the video is about to start

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.(SlidingPercentile.java:38)
E/flutter (17127): at com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.(DefaultBandwidthMeter.java:263)
E/flutter (17127): at com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.(DefaultBandwidthMeter.java:40)
E/flutter (17127): at com.google.android.exoplayer2.upstream.DefaultBandwidthMeter$Builder.build(DefaultBandwidthMeter.java:195)
E/flutter (17127): at com.google.android.exoplayer2.ExoPlayerFactory.getDefaultBandwidthMeter(ExoPlayerFactory.java:455)
E/flutter (17127): at com.google.android.exoplayer2.ExoPlayerFactory.newSimpleInstance(ExoPlayerFactory.java:358)
E/flutter (17127): at com.google.android.exoplayer2.ExoPlayerFactory.newSimpleInstance(ExoPlayerFactory.java:320)
E/flutter (17127): at com.google.android.exoplayer2.ExoPlayerFactory.newSimpleInstance(ExoPlayerFactory.java:214)
E/flutter (17127): at com.google.android.exoplayer2.ExoPlayerFactory.newSimpleInstance(ExoPlayerFactory.java:180)
E/flutter (17127): at com.google.android.exoplayer2.ExoPlayerFactory.newSimpleInstance(ExoPlayerFactory.java:151)
E/flutter (17127): at np.com.sarbagyastha.youtubeplayer.YoutubePlayerPlugin$YoutubePlayer.(YoutubePlayerPlugin.java:109)
E/flutter (17127): at np.com.sarbagyastha.youtubeplayer.YoutubePlayerPlugin.onMethodCall(YoutubePlayerPlugin.java:380)
E/flutter (17127): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200)
E/flutter (17127): at io.flutter.view.FlutterNativeView.handlePlatformMessage(FlutterNativeView.java:163)
E/flutter (17127): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (17127): at android.os.MessageQueue.next(MessageQueue.java:326)
E/flutter (17127): at android.os.Looper.loop(Looper.java:160)
E/flutter (17127): at android.app.ActivityThread.main(ActivityThread.java:6669)
E/flutter (17127): at java.lang.reflect.Method.invoke(Native Method)
E/flutter (17127): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/flutter (17127): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/flutter (17127): Caused by: java.lang.ClassCastException: Bootstrap method returned null
E/flutter (17127): ... 21 more
E/flutter (17127):
F/flutter (17127): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(77)] Check failed: CheckException(env).
F/libc (17127): Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 17127 (.example.ytdemo), pid 17127 (.example.ytdemo)


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)
#1 pc 0001fdf8 /system/lib/libc.so (syscall+40)
#2 pc 00022ed3 /system/lib/libc.so (abort+115)
#3 pc 0065a862 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000)
#4 pc 0064c8e0 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000)
#5 pc 0064b773 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000)
#6 pc 006955e5 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000)
#7 pc 0065c737 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000)
#8 pc 0065c682 /data/app/com.example.ytdemo-0JbwjXIe9OnMcdYqxwlNBA==/lib/x86/libflutter.so (offset 0x5b9000)
#9 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.

Example doesn't run on Android 7.0 (power 2)

Gradle task 'assembleDebug'...
AGPBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Default interface methods are only supported starting with Android N (--min-api 24): void com.google.android.exoplayer2.Player$EventListener.onLoadingChanged(boolean)","sources":[{}],"tool":"D8"}
Finished with error: Gradle task assembleDebug failed with exit code 1

Is there a way to prevent the video from buffering when autoPlay is false?

Hey everyone!

I'm displaying videos in a list with this plugin using the YoutubePlayer, and I'd like to know if it was possible not to load the video until the Play button is pressed, but still show the thumbnail. I could not find any way to do it, and right now this slows the app quite a lot.

I hope you can help me on that, thank you.

Exiting full screen if i long press the slider

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
slider

Portrait Orientation gives Portrait Fullscreen video

Hi, I use portrait orientation in my app by the code:

SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
If user click fullscreen mode on the player, result is portrait video (shrunk)***

I want if user click fullscreen button, result is landscape (correct ratio of the video). User can manually turn the phone to watch.
How to?
Best regards

(Also, is there any event to enter fullscreen?)

Disable autoplay

How can i disable auto playing?

It doesn't seem to be documented.

Live Streaming throws error is there away to fix this.

The application works great for previous videos, however, it crashes on live videos. Is there a solution for this?

D/MediaCodec(11263): [OMX.google.h264.decoder] setting dataspace on output surface to #104 D/ (11263): HostConnection::get() New Host Connection established 0x71fdf13e6fc0, tid 12015 D/SoftwareRenderer(11263): setting dataspace on output surface to #104 I/flutter (11263): ══╡ EXCEPTION CAUGHT BY FOUNDATION LIBRARY ╞════════════════════════════════════════════════════════ I/flutter (11263): The following NoSuchMethodError was thrown while dispatching notifications for I/flutter (11263): VideoPlayerController: I/flutter (11263): The method 'call' was called on null. I/flutter (11263): Receiver: null I/flutter (11263): Tried calling: call() I/flutter (11263): I/flutter (11263): When the exception was thrown, this was the stack: I/flutter (11263): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5) I/flutter (11263): #1 _YoutubePlayerState.listener (package:youtube_player/youtube_player.dart:956:14) I/flutter (11263): #2 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:206:21) I/flutter (11263): #3 ValueNotifier.value= (package:flutter/src/foundation/change_notifier.dart:270:5) I/flutter (11263): #4 VideoPlayerController.initialize.eventListener (package:youtube_player/youtube_player.dart:272:11) I/flutter (11263): (elided 17 frames from package dart:async) I/flutter (11263): I/flutter (11263): The VideoPlayerController sending notification was: I/flutter (11263): VideoPlayerController#cfd13(VideoPlayerValue(duration: 1:04:11.976000, size: Size(854.0, 480.0), I/flutter (11263): position: 1:04:11.976000, buffered: [], isPlaying: false, isLooping: false, isBuffering: I/flutter (11263): falsevolume: 1.0, errorDescription: null)) I/flutter (11263): ════════════════════════════════════════════════════════════════════════════════════════════════════

Cannot get video length, stream state and other properties?

I noticed in the README, in the Future versions we will have High level of customization but I'm not sure what does that means, is it regarding UI customization or internals?

Anyways, my concern comes mainly after trying to see if I could access properties of the video/stream e.g. Get current video playback time, get video length, get video player state (playing, stopped, paused) etc., etc.

Is there any possibility that we could have these implementations done?

Thanks for looking into this request.


Up to mention that I'm new to Flutter and to Dart... if this is possible to achieve already, could you please provide me with a code sample?

onVideoEnded is not firing

When i drag the "circle play indicator" until it almost finishes the video, the onVideoEnded is not firing. It only fires when you play the video without skipping.

Because what I want to do is when the video finished. It will prompt a custom widget, let say an alert or a repeat or back button.

ANR

I have a video list , and click anyone will navigate to a new page with video , when I back , the app is not reponse

I/flutter (27771): ══╡ EXCEPTION CAUGHT BY FOUNDATION LIBRARY ╞════════════════════════════════════════════════════════
I/flutter (27771): The following assertion was thrown while dispatching notifications for VideoPlayerController:
I/flutter (27771): 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3485 pos 12:
I/flutter (27771): '_debugLifecycleState != _ElementLifecycle.defunct': is not true.
I/flutter (27771): 
I/flutter (27771): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (27771): more information in this error message to help you determine and fix the underlying cause.
I/flutter (27771): In either case, please report this assertion by filing a bug on GitHub:
I/flutter (27771):   https://github.com/flutter/flutter/issues/new?template=BUG.md
I/flutter (27771): 
I/flutter (27771): When the exception was thrown, this was the stack:
I/flutter (27771): #2      Element.markNeedsBuild 
I/flutter (27771): #3      State.setState 
I/flutter (27771): #4      _ControlsState.initState.<anonymous closure> 
I/flutter (27771): #5      ChangeNotifier.notifyListeners 
I/flutter (27771): #6      ValueNotifier.value= 
I/flutter (27771): #7      VideoPlayerController.setVolume 
I/flutter (27771): <asynchronous suspension>
I/flutter (27771): #8      _ControlsState.dispose 
I/flutter (27771): #9      StatefulElement.unmount 
I/flutter (27771): #10     _InactiveElements._unmount 
I/flutter (27771): #11     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #12     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #13     _InactiveElements._unmount 
I/flutter (27771): #14     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #15     ComponentElement.visitChildren 
I/flutter (27771): #16     _InactiveElements._unmount 
I/flutter (27771): #17     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #18     ComponentElement.visitChildren 
I/flutter (27771): #19     _InactiveElements._unmount 
I/flutter (27771): #20     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #21     MultiChildRenderObjectElement.visitChildren 
I/flutter (27771): #22     _InactiveElements._unmount 
I/flutter (27771): #23     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #24     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #25     _InactiveElements._unmount 
I/flutter (27771): #26     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #27     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #28     _InactiveElements._unmount 
I/flutter (27771): #29     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #30     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #31     _InactiveElements._unmount 
I/flutter (27771): #32     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #33     ComponentElement.visitChildren 
I/flutter (27771): #34     _InactiveElements._unmount 
I/flutter (27771): #35     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #36     ComponentElement.visitChildren 
I/flutter (27771): #37     _InactiveElements._unmount 
I/flutter (27771): #38     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #39     ComponentElement.visitChildren 
I/flutter (27771): #40     _InactiveElements._unmount 
I/flutter (27771): #41     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #42     MultiChildRenderObjectElement.visitChildren 
I/flutter (27771): #43     _InactiveElements._unmount 
I/flutter (27771): #44     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #45     ComponentElement.visitChildren 
I/flutter (27771): #46     _InactiveElements._unmount 
I/flutter (27771): #47     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #48     ComponentElement.visitChildren 
I/flutter (27771): #49     _InactiveElements._unmount 
I/flutter (27771): #50     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #51     MultiChildRenderObjectElement.visitChildren 
I/flutter (27771): #52     _InactiveElements._unmount 
I/flutter (27771): #53     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #54     ComponentElement.visitChildren 
I/flutter (27771): #55     _InactiveElements._unmount 
I/flutter (27771): #56     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #57     ComponentElement.visitChildren 
I/flutter (27771): #58     _InactiveElements._unmount 
I/flutter (27771): #59     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #60     ComponentElement.visitChildren 
I/flutter (27771): #61     _InactiveElements._unmount 
I/flutter (27771): #62     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #63     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #64     _InactiveElements._unmount 
I/flutter (27771): #65     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #66     ComponentElement.visitChildren 
I/flutter (27771): #67     _InactiveElements._unmount 
I/flutter (27771): #68     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #69     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #70     _InactiveElements._unmount 
I/flutter (27771): #71     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #72     ComponentElement.visitChildren 
I/flutter (27771): #73     _InactiveElements._unmount 
I/flutter (27771): #74     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #75     ComponentElement.visitChildren 
I/flutter (27771): #76     _InactiveElements._unmount 
I/flutter (27771): #77     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #78     ComponentElement.visitChildren 
I/flutter (27771): #79     _InactiveElements._unmount 
I/flutter (27771): #80     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #81     ComponentElement.visitChildren 
I/flutter (27771): #82     _InactiveElements._unmount 
I/flutter (27771): #83     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #84     ComponentElement.visitChildren 
I/flutter (27771): #85     _InactiveElements._unmount 
I/flutter (27771): #86     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #87     ComponentElement.visitChildren 
I/flutter (27771): #88     _InactiveElements._unmount 
I/flutter (27771): #89     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #90     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #91     _InactiveElements._unmount 
I/flutter (27771): #92     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #93     ComponentElement.visitChildren 
I/flutter (27771): #94     _InactiveElements._unmount 
I/flutter (27771): #95     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #96     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #97     _InactiveElements._unmount 
I/flutter (27771): #98     _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #99     SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #100    _InactiveElements._unmount 
I/flutter (27771): #101    _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #102    SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #103    _InactiveElements._unmount 
I/flutter (27771): #104    _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #105    SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #106    _InactiveElements._unmount 
I/flutter (27771): #107    _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #108    ComponentElement.visitChildren 
I/flutter (27771): #109    _InactiveElements._unmount 
I/flutter (27771): #110    _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #111    ComponentElement.visitChildren 
I/flutter (27771): #112    _InactiveElements._unmount 
I/flutter (27771): #113    _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #114    ComponentElement.visitChildren 
I/flutter (27771): #115    _InactiveElements._unmount 
I/flutter (27771): #116    _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #117    SingleChildRenderObjectElement.visitChildren 
I/flutter (27771): #118    _InactiveElements._unmount 
I/flutter (27771): #119    _InactiveElements._unmount.<anonymous closure> 
I/flutter (27771): #120    ComponentElement.visitChildren 
I/flutter (27771): #121    _InactiveElements._unmount 
I/flutter (27771): #122    _InactiveElements._unmount.<anonymous closure> 
D/AudioTrack(27771): Uid 10718 AudioTrack::setVolume left 0.000000 right 0.000000
I/android.media.AudioTrack(27771): stop() packageName: com.cari.promo.diskonmSampleRate: 44100
D/AudioTrack(27771): stop() called with 13112320 frames delivered


Sometimes this plugin has a problem that video does not start.

Sometimes this plugin has a problem that video does not start.
Often, it takes a long time to load, or only the video loading indicator appears and playback is not possible.
However, it does not exactly cause Exception.
Is there a way to fix it?

video not played, javascript error on log console

At lastest version, on ios, can't play youtube videos with below log:

Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=58, WKJavaScriptExceptionMessage=TypeError: undefined is not an object (evaluating 'player.playVideo'), WKJavaScriptExceptionColumnNumber=11, WKJavaScriptExceptionSourceURL=https://sarbagyadhaubanjar.github.io/youtube_player/ios/player.js, NSLocalizedDescription=A JavaScript exception occurred})

please help me play youtube videos!

Error when import dependencies youtube_player: ^3.0.1

I have got error when run app when add youtube_player: ^3.0.1

Launching lib/main.dart on Android SDK built for x86 in debug mode...
/MyData/myProject/OwnSource/Mobile/MyProject/test_flutter/android/app/src/main/AndroidManifest.xml:17:9-37 Error:
	Attribute application@label value=(test_flutter) from AndroidManifest.xml:17:9-37
	is also present at [com.github.HaarigerHarald:android-youtubeExtractor:master-SNAPSHOT] AndroidManifest.xml:15:9-41 value=(@string/app_name).
	Suggestion: add 'tools:replace="android:label"' to <application> element at AndroidManifest.xml:15:5-38:19 to override.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@label value=(test_flutter) from AndroidManifest.xml:17:9-37
  	is also present at [com.github.HaarigerHarald:android-youtubeExtractor:master-SNAPSHOT] AndroidManifest.xml:15:9-41 value=(@string/app_name).
  	Suggestion: add 'tools:replace="android:label"' to <application> element at AndroidManifest.xml:15:5-38:19 to override.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org

My app is crashing if i go back to the original route

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.
package:youtube_player/controls.dart:74
I/flutter ( 7412): #5 ChangeNotifier.notifyListeners
package:flutter/…/foundation/change_notifier.dart:206
I/flutter ( 7412): #6 ValueNotifier.value=
package:flutter/…/foundation/change_notifier.dart:266
I/flutter ( 7412): #7 VideoPlayerController.setVolume
package:youtube_player/youtube_player.dart:442
I/flutter ( 7412):
I/flutter ( 7412): #8 _ControlsState.dispose
package:youtube_player/controls.dart:97
I/flutter ( 7412): #9 StatefulElement.unmount
package:flutter/…/widgets/framework.dart:3916
I/flutter ( 7412): #10 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1696
I/flutter ( 7412): #11 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #12 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #13 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #14 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #15 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #16 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #17 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #18 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #19 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #20 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #21 MultiChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4965
I/flutter ( 7412): #22 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #23 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #24 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #25 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #26 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #27 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #28 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #29 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #30 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #31 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #32 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #33 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #34 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #35 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #36 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #37 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #38 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #39 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #40 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #41 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #42 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #43 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #44 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #45 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #46 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #47 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #48 MultiChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4965
I/flutter ( 7412): #49 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #50 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #51 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #52 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #53 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #54 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #55 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #56 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #57 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #58 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #59 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #60 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #61 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #62 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #63 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #64 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #65 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #66 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #67 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #68 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #69 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #70 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #71 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #72 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #73 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #74 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #75 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #76 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #77 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #78 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #79 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #80 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #81 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #82 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #83 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #84 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #85 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #86 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #87 _SliverPersistentHeaderElement.visitChildren
package:flutter/…/widgets/sliver_persistent_header.dart:228
I/flutter ( 7412): #88 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #89 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #90 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #91 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #92 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #93 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #94 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #95 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #96 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #97 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #98 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #99 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #100 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #101 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #102 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #103 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #104 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #105 ComponentElement.visitChildren
package:flutter/…/widgets/framework.dart:3770
I/flutter ( 7412): #106 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #107 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #108 MultiChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4965
I/flutter ( 7412): #109 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #110 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #111 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #112 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #113 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #114 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #115 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #116 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #117 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #118 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/flutter ( 7412): #119 _InactiveElements._unmount.
package:flutter/…/widgets/framework.dart:1694
I/flutter ( 7412): #120 SingleChildRenderObjectElement.visitChildren
package:flutter/…/widgets/framework.dart:4864
I/flutter ( 7412): #121 _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1692
I/ExoPlayerImpl( 7412): Release 3027030 [ExoPlayerLib/2.9.6] [land, Redmi 3S, Xiaomi, 23] [goog.exo.core]
Lost connection to device.

Unable to use this Plugin

Launching lib\main.dart on SM J500F in debug mode...
D:\CURRENT\qw\android\app\src\main\AndroidManifest.xml:6:9-27 Error:
Attribute application@label value=(qw) from AndroidManifest.xml:6:9-27
is also present at [com.github.HaarigerHarald:android-youtubeExtractor:master-SNAPSHOT] AndroidManifest.xml:15:9-41 value=(@string/app_name).
Suggestion: add 'tools:replace="android:label"' to element at AndroidManifest.xml:4:5-23:19 to override.

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:processDebugManifest'.

Manifest merger failed : Attribute application@label value=(testingapproject) from AndroidManifest.xml:6:9-27
is also present at [com.github.HaarigerHarald:android-youtubeExtractor:master-SNAPSHOT] AndroidManifest.xml:15:9-41 value=(@string/app_name).
Suggestion: add 'tools:replace="android:label"' to element at AndroidManifest.xml:4:5-23:19 to override.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 3s
Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

video keep loading

I have several video fetch from youtube. Some video working fine. And some of them just keep loading. Maybe you can help fix it.

Unable to load a video

LOGSD/EgretLoader( 7486): EgretLoader(Context context) D/EgretLoader( 7486): The context is not activity I/YoutubePlayerPlugin( 7486): Quality: 720p WEBM I/YoutubePlayerPlugin( 7486): Media Type: GENERAL E/ExoPlayerImplInternal( 7486): Source error. E/ExoPlayerImplInternal( 7486): com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404 E/ExoPlayerImplInternal( 7486): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:300) E/ExoPlayerImplInternal( 7486): at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:83) E/ExoPlayerImplInternal( 7486): at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:885) E/ExoPlayerImplInternal( 7486): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:381) E/ExoPlayerImplInternal( 7486): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) E/ExoPlayerImplInternal( 7486): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) E/ExoPlayerImplInternal( 7486): at java.lang.Thread.run(Thread.java:764) I/zygote64( 7486): Do full code cache collection, code=250KB, data=179KB I/zygote64( 7486): After code cache collection, code=250KB, data=161KB
Also This is the video link:https://www.youtube.com/watch?v=NHr6lTKYCNc
This is video never runs

iOS Support

Is their a ETA on when this will be added?

MissingPluginException

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.

if youtube video link is wrong then it gives error. its not handle properly

When the exception was thrown, this was the stack:
I/flutter (18297): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
I/flutter (18297): #1 _YoutubePlayerState._buildVideo (package:youtube_player/youtube_player.dart:1012:39)
I/flutter (18297): #2 _YoutubePlayerState.build (package:youtube_player/youtube_player.dart:1002:12)
I/flutter (18297): #3 StatefulElement.build (package:flutter/src/widgets/framework.dart:4012:27)
I/flutter (18297): #4 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3924:15)
I/flutter (18297): #5 Element.rebuild (package:flutter/src/widgets/framework.dart:3721:5)
I/flutter (18297): #6 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3907:5)
I/flutter (18297): #7 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4053:11)
I/flutter (18297): #8 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3902:5)
I/flutter (18297): #9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3084:14)
I/flutter (18297): #10 Element.updateChild (package:flutter/src/widgets/framework.dart:2887:12)
I/flutter (18297): #11 _LayoutBuilderElement._layout. (package:flutter/src/widgets/layout_builder.dart:120:18)
I/flutter (18297): #12 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2320:19)

* Error running Gradle: ProcessException: Process android\gradlew.bat" exited abnormally:

Configure project :screen
WARNING: The specified Android SDK Build Tools version (25.0.3) is ignored, as it is below the minimum supported version (27.0.3) for Android Gradle Plugin 3.1.2.
Android SDK Build Tools 27.0.3 will be used.
To suppress this warning, remove "buildToolsVersion '25.0.3'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.

Source error for ExoPlayerImplInternal

I got the error when running some video like the following:

E/ExoPlayerImplInternal(22950): Source error.
E/ExoPlayerImplInternal(22950): com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404
E/ExoPlayerImplInternal(22950): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:300)
E/ExoPlayerImplInternal(22950): at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:83)
E/ExoPlayerImplInternal(22950): at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:885)
E/ExoPlayerImplInternal(22950): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:381)
E/ExoPlayerImplInternal(22950): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
E/ExoPlayerImplInternal(22950): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
E/ExoPlayerImplInternal(22950): at java.lang.Thread.run(Thread.java:776)

Am I missing something? Please help me!

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.