flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
165.02k stars 27.19k forks source link

fullscreen not working youtube_player_flutter 8.1.2 #144690

Closed Arslan-code closed 6 months ago

Arslan-code commented 6 months ago

Steps to reproduce

Expected results

when I click the full screen button I expect it to go to full screen

Actual results

nothing's happening.

Code sample

Code sample ```dart import 'dart:developer'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:youtube_player_flutter/youtube_player_flutter.dart'; import 'video_list.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setSystemUIOverlayStyle( const SystemUiOverlayStyle( statusBarColor: Colors.blueAccent, ), ); runApp(YoutubePlayerDemoApp()); } /// Creates [YoutubePlayerDemoApp] widget. class YoutubePlayerDemoApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, title: 'Youtube Player Flutter', theme: ThemeData( primarySwatch: Colors.blue, appBarTheme: const AppBarTheme( color: Colors.blueAccent, titleTextStyle: TextStyle( color: Colors.white, fontWeight: FontWeight.w300, fontSize: 20, ), ), iconTheme: const IconThemeData( color: Colors.blueAccent, ), ), home: MyHomePage(), ); } } /// Homepage class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State { late YoutubePlayerController _controller; late TextEditingController _idController; late TextEditingController _seekToController; late PlayerState _playerState; late YoutubeMetaData _videoMetaData; double _volume = 100; bool _muted = false; bool _isPlayerReady = false; final List _ids = [ 'nPt8bK2gbaU', 'gQDByCdjUXw', 'iLnmTe5Q2Qw', '_WoCV4c6XOE', 'KmzdUe0RSJo', '6jZDSSZZxjQ', 'p2lYr3vM_1w', '7QUtEmBT_-w', '34_PXCzGw1M', ]; @override void initState() { super.initState(); _controller = YoutubePlayerController( initialVideoId: _ids.first, flags: const YoutubePlayerFlags( mute: false, autoPlay: true, disableDragSeek: false, loop: false, isLive: false, forceHD: false, enableCaption: true, ), )..addListener(listener); _idController = TextEditingController(); _seekToController = TextEditingController(); _videoMetaData = const YoutubeMetaData(); _playerState = PlayerState.unknown; } void listener() { if (_isPlayerReady && mounted && !_controller.value.isFullScreen) { setState(() { _playerState = _controller.value.playerState; _videoMetaData = _controller.metadata; }); } } @override void deactivate() { // Pauses video while navigating to next page. _controller.pause(); super.deactivate(); } @override void dispose() { _controller.dispose(); _idController.dispose(); _seekToController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return YoutubePlayerBuilder( onExitFullScreen: () { // The player forces portraitUp after exiting fullscreen. This overrides the behaviour. SystemChrome.setPreferredOrientations(DeviceOrientation.values); }, player: YoutubePlayer( controller: _controller, showVideoProgressIndicator: true, progressIndicatorColor: Colors.blueAccent, topActions: [ const SizedBox(width: 8.0), Expanded( child: Text( _controller.metadata.title, style: const TextStyle( color: Colors.white, fontSize: 18.0, ), overflow: TextOverflow.ellipsis, maxLines: 1, ), ), IconButton( icon: const Icon( Icons.settings, color: Colors.white, size: 25.0, ), onPressed: () { log('Settings Tapped!'); }, ), ], onReady: () { _isPlayerReady = true; }, onEnded: (data) { _controller .load(_ids[(_ids.indexOf(data.videoId) + 1) % _ids.length]); _showSnackBar('Next Video Started!'); }, ), builder: (context, player) => Scaffold( appBar: AppBar( leading: Padding( padding: const EdgeInsets.only(left: 12.0), child: Image.asset( 'assets/ypf.png', fit: BoxFit.fitWidth, ), ), title: const Text( 'Youtube Player Flutter', style: TextStyle(color: Colors.white), ), actions: [ IconButton( icon: const Icon(Icons.video_library), onPressed: () => Navigator.push( context, CupertinoPageRoute( builder: (context) => VideoList(), ), ), ), ], ), body: ListView( children: [ player, Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ _space, _text('Title', _videoMetaData.title), _space, _text('Channel', _videoMetaData.author), _space, _text('Video Id', _videoMetaData.videoId), _space, Row( children: [ _text( 'Playback Quality', _controller.value.playbackQuality ?? '', ), const Spacer(), _text( 'Playback Rate', '${_controller.value.playbackRate}x ', ), ], ), _space, TextField( enabled: _isPlayerReady, controller: _idController, decoration: InputDecoration( border: InputBorder.none, hintText: 'Enter youtube \

Screenshots or Video

Screenshots / Video demonstration [Upload media here]

Logs

Logs ```console [Paste your logs here] ```

Flutter Doctor output

Doctor output ```console [✓] Flutter (Channel stable, 3.10.5, on macOS 13.5.2 22G91 darwin-arm64, locale en-TR) • Flutter version 3.10.5 on channel stable at /Users/huseyinulasarslan/development/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 796c8ef792 (9 months ago), 2023-06-13 15:51:02 -0700 • Engine revision 45f6e00911 • Dart version 3.0.5 • DevTools version 2.23.1 [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) • Android SDK at /Users/huseyinulasarslan/Library/Android/sdk • Platform android-34, build-tools 34.0.0 • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 14.3.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 14E300c • CocoaPods version 1.13.0 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2022.3) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231) [✓] VS Code (version 1.85.2) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.84.0 [✓] Connected device (3 available) • iPhone SE (3rd generation) (mobile) • 65FCC59B-531A-4F74-B536-F6EB31B99DC5 • ios • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator) • macOS (desktop) • macos • darwin-arm64 • macOS 13.5.2 22G91 darwin-arm64 • Chrome (web) • chrome • web-javascript • Google Chrome 122.0.6261.111 [✓] Network resources • All expected network resources are available. • No issues found! ```
stuartmorgan commented 6 months ago

Issues with third-party packages need to be reported to the authors of those packages.

Closing as this is not related to any code owned by the Flutter team.

github-actions[bot] commented 6 months ago

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.