Flutter iqplayer package

Viewed 18

my problem is :

    ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _CastError was thrown building BlocBuilder<ScreenBloc, ScreenState>(dirty,
dependencies: [MediaQuery], state: _BlocBuilderBaseState<ScreenBloc, ScreenState>#d956c):
Null check operator used on a null value

The relevant error-causing widget was:
  BlocBuilder<ScreenBloc, ScreenState>
  BlocBuilder:file:///C:/Development/flutter/.pub-cache/hosted/pub.dartlang.org/iqplayer-0.4.1/lib/src/ui/screen_controllers.dart:23:12

When the exception was thrown, this was the stack:
#0      ScreenControllers.build.<anonymous closure> (package:iqplayer/src/ui/screen_controllers.dart:78:74)
#1      BlocBuilder.build (package:flutter_bloc/src/bloc_builder.dart:89:57)
#2      _BlocBuilderBaseState.build (package:flutter_bloc/src/bloc_builder.dart:165:21)
#3      StatefulElement.build (package:flutter/src/widgets/framework.dart:4919:27)
#4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4806:15)
#5      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
#6      Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#7      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4787:5)
#8      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4968:11)
#9      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4781:5)
...     Normal element mounting (13 frames)
#22     _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11)
...     Normal element mounting (7 frames)
#29     SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#36     SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#43     _NestedHookElement.mount (package:nested/nested.dart:187:11)
...     Normal element mounting (7 frames)
#50     _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11)
...     Normal element mounting (7 frames)
#57     SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#64     SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#71     _NestedHookElement.mount (package:nested/nested.dart:187:11)
...     Normal element mounting (7 frames)
#78     _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11)
...     Normal element mounting (7 frames)
#85     SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#92     SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#99     _NestedHookElement.mount (package:nested/nested.dart:187:11)
...     Normal element mounting (7 frames)
#106    SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#113    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
#114    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6350:36)
#115    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6362:32)
...     Normal element mounting (19 frames)
#134    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
#135    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6350:36)
#136    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6362:32)
...     Normal element mounting (367 frames)
#503    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
#504    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6350:36)
#505    Element.updateChild (package:flutter/src/widgets/framework.dart:3551:18)
#506    RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5883:32)
#507    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6375:17)
#508    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#509    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
#510    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
#511    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#512    StatefulElement.update (package:flutter/src/widgets/framework.dart:5009:5)
#513    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#514    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
#515    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#516    ProxyElement.update (package:flutter/src/widgets/framework.dart:5154:5)
#517    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#518    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
#519    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#520    ProxyElement.update (package:flutter/src/widgets/framework.dart:5154:5)
#521    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11)
#522    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#523    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6222:14)
#524    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#525    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
#526    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
#527    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#528    StatefulElement.update (package:flutter/src/widgets/framework.dart:5009:5)
#529    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#530    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6222:14)
#531    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#532    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6222:14)
#533    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#534    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
#535    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#536    ProxyElement.update (package:flutter/src/widgets/framework.dart:5154:5)
#537    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
#538    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
#539    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
#540    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#541    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2659:19)
#542    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:891:21)
#543    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:370:5)
#544    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1146:15)
#545    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1083:9)
#546    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:997:5)
#550    _invoke (dart:ui/hooks.dart:151:10)
#551    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5)
#552    _drawFrame (dart:ui/hooks.dart:115:31)
(elided 3 frames from dart:async)

════════════════════════════════════════════════════════════════════════════════════════════════════
I/ExoPlayerImpl( 8745): Init e2ed845 [ExoPlayerLib/2.14.1] [star2lte, SM-G965F, samsung, 28]
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
I/chatty  ( 8745): uid=10258(com.example.test_app) ExoPlayer:Loade identical 2 lines
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
E/flutter ( 8745): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: Bad state: Future already completed
E/flutter ( 8745): #0      _AsyncCompleter.complete (dart:async/future_impl.dart:35:31)
E/flutter ( 8745): #1      VideoPlayerController.initialize (package:video_player/video_player.dart:310:25)
E/flutter ( 8745): <asynchronous suspension>
E/flutter ( 8745):
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
E/ExoPlayerImplInternal( 8745): Playback error
E/ExoPlayerImplInternal( 8745):   UnknownHostException (no network)
E/flutter ( 8745): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error, null, null)
E/flutter ( 8745): 
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
I/System.out( 8745): (HTTPLog)-Static: isSBSettingEnabled false
E/ExoPlayerImplInternal( 8745): Playback error

i use iqplayer package

that`s my code :

import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:iqplayer/iqplayer.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'IQPlayer Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'IQPlayer Demo'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: Center(
        child: Column(
          children: [
            ElevatedButton(
              child: Text('Open IQPlayer'),
              onPressed: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (BuildContext context) => IQScreen(
                      title: title,
                      description: 'Simple video as a demo video',
                      videoPlayerController: VideoPlayerController.network(
                        'https://d11b76aq44vj33.cloudfront.net/media/720/video/5def7824adbbc.mp4',
                      ),
                      subtitleProvider: SubtitleProvider.fromString(
                        """WEBVTT

                            00:00:00.650 --> 00:00:03.000
                            <p style="color:blue">Hello World</p>

                            00:00:03.024 --> 00:00:07.524
                            <i>Mindmarker je krátká zpráva formou
                            videa, souborů PDF...</i>

                            00:00:07.548 --> 00:0  simple_html_css: ^2.0.0+2
0:12.448
                            <span style='color:brown'>colorful</span>

                            00:00:12.472 --> 00:00:16.072
                            Mindmarker budeš obdržovat
                            ve specifický chvílích...

                            00:00:16.100 --> 00:00:20.100
                            abychom lépe utužili tvé znalosti.""",
                      ),
                      // subtitleProvider: SubtitleProvider.fromNetwork(
                      //     'https://duoidi6ujfbv.cloudfront.net/media/0/subtitles/5675420c9d9a3.vtt'),
                      iqTheme: IQTheme(
                        loadingProgress: SpinKitCircle(
                          color: Colors.red,
                        ),
                        playButtonColor: Colors.transparent,
                        videoPlayedColor: Colors.indigo,
                        playButton: (BuildContext context, bool isPlay,
                            AnimationController animationController) {
                          if (isPlay)
                            return Icon(
                              Icons.pause_circle_filled,
                              color: Colors.red,
                              size: 50,
                            );
                          return Icon(
                            Icons.play_circle_outline,
                            color: Colors.red,
                            size: 50,
                          );
                        },
                      ),
                    ),
                  ),
                );
              },
            ),
          ],
        ),
      ),
    );
  }
}

idont know what is wrong, anyone can help? i really need help , the problem screen is (Null check operator used on a null value) that`s link of this package : https://pub.dev/packages/iqplayer.

Does anyone know what's wrong with the code? Although it is from the same add-on library on the Dart site

0 Answers
Related