I am using the flutter_inappwebview package for a video player. Recently when updating my app from a older version of flutter to 3.4.3, I ran across this error on my Samsung tablet (SM P613). This only happens when using the above package.
Here is my code:
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:url_launcher/url_launcher.dart';
import 'dart:io' show Platform;
class VimeoVideoPlayer extends StatefulWidget {
final String videoUrl;
const VimeoVideoPlayer({Key? key, required this.videoUrl}) : super(key: key);
@override
_VimeoVideoPlayerState createState() => _VimeoVideoPlayerState();
}
class _VimeoVideoPlayerState extends State<VimeoVideoPlayer> {
InAppWebViewController? _controller;
@override
Widget build(BuildContext context) {
print("URL IS: ${widget.videoUrl}");
if (Platform.isAndroid) {
print("ANDROID");
} else {
print("NOT ANDROID");
}
// launchUrl(
// Uri.parse(widget.videoUrl),
// webViewConfiguration: WebViewConfiguration(
// enableJavaScript: true,
// ),
// browserConfiguration: BrowserConfiguration(
// showTitle: false,
// ),
// mode: LaunchMode.inAppWebView,
// );
// This is the video player for Vimeo.
var iframe = """
<html>
<body style="background: #000000; margin: 0;">
<iframe
style="display: block; height: 100vh; width: 100%; border: none;"
src="${widget.videoUrl}"
frameborder="0"
allow="autoplay; fullscreen"
allowfullscreen>
</iframe>
</body>
</html>
""";
return InAppWebView(
initialData: InAppWebViewInitialData(data: iframe),
onWebViewCreated: (InAppWebViewController controller) {
_controller = controller;
},
initialSettings: InAppWebViewSettings(
builtInZoomControls: false,
displayZoomControls: false,
useHybridComposition: true,
mediaPlaybackRequiresUserGesture: false, // Ensure videos can autoplay
),
onLoadStart: (controller, url) {},
onLoadStop: (controller, url) {},
onReceivedError: (controller, request, error) {
print(error);
},
);
}
}
Here is my pubspec.yaml
environment:
sdk: '>=3.4.3 <4.0.0'
dependencies:
youtube_player_flutter: ^9.0.1
open_file: ^3.3.2
google_fonts: ^6.2.1
flutter_html_all: ^3.0.0-beta.2
provider: ^6.1.2
http: ^1.2.2
audioplayers: ^6.0.0
path_provider: ^2.1.3
path: ^1.9.0
sqflite: ^2.3.3+1
shared_preferences: ^2.2.3
cupertino_icons: ^1.0.8
email_validator: ^3.0.0
pin_code_fields: ^8.0.1
wakelock_plus: ^1.2.7
device_info_plus: ^10.1.1
image_picker: ^1.1.2
permission_handler: ^11.3.1
cached_network_image: ^3.3.1
url_launcher: ^6.3.0
flutter_native_splash: ^2.4.1
syncfusion_flutter_pdfviewer: ^26.2.5
flutter_inappwebview: ^6.0.0
video_player: ^2.9.1
devicelocale: ^0.7.1
share_plus: ^10.0.0
font_awesome_flutter: ^10.7.0
font_awesome_flutter_named: ^1.1.2+1
photo_view: ^0.15.0
dev_dependencies:
flutter_test:
sdk: flutter
Any help is really appreciated!