import 'dart:collection'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; class ShowVideoPlayPage extends StatefulWidget { final String url; const ShowVideoPlayPage({super.key, required this.url}); @override State createState() => _ShowVideoPlayPageState(); } class _ShowVideoPlayPageState extends State { InAppWebViewController? webViewController; InAppWebViewSettings settings = InAppWebViewSettings( isInspectable: kDebugMode, mediaPlaybackRequiresUserGesture: false, allowsInlineMediaPlayback: true, iframeAllow: "camera; microphone", iframeAllowFullscreen: true); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( leading: GestureDetector( onTap: () => Navigator.pop(context), child: Icon( Icons.navigate_before, color: Colors.white, size: 32, ), ), backgroundColor: Colors.black, ), body: Container( color: Colors.black, child:InAppWebView( initialUrlRequest: URLRequest(url: WebUri(widget.url)), initialUserScripts: UnmodifiableListView([]), initialSettings: settings, onWebViewCreated: (controller) async { webViewController = controller; }, onLoadStart: (controller, url) { setState(() { }); }, onConsoleMessage: (controller, consoleMessage) { print(consoleMessage); }, ), ), ); } }