我有一个飘飘的应用程序,可以在网景中播放YouTube视频。它工作正常,除了一种情况:如果你全屏打开它,并且pres=s嵌入了YouTube播放器中的“退出全屏”按钮:从全屏退出后,我仍然听到声音,但我看到一个黑屏与按钮共享和稍后观看。如果我通过按Android后退按钮退出全屏模式,它的工作原理正常。呵呵要修复它?
Widget build(BuildContext context) {
return Container(
child: MyWebView(
initUrl:
'https://www.youtube.com/embed/${id}?autoplay=1&rel=0&showinfo=0',
),
)
}
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
class MyWebView extends StatefulWidget {
final String initUrl;
MyWebView({
this.initUrl,
});
@override
MyWebViewState createState() => MyWebViewState();
}
class MyWebViewState extends State<MyWebView> {
InAppWebViewController webView;
String url;
bool webLoadError = false;
@override
void initState() {
url = widget.initUrl;
super.initState();
}
@override
Widget build(BuildContext context) {
return Stack(
children: [
InAppWebView(
initialUrl: url,
initialHeaders: widget.headers,
initialOptions: InAppWebViewGroupOptions(
crossPlatform: InAppWebViewOptions(
debuggingEnabled: true,
useShouldOverrideUrlLoading: true,
clearCache: true,
mediaPlaybackRequiresUserGesture: false,
),
),
onLoadStart: (controller, string) {
setState(() {
webView = controller;
webLoadError = false;
});
},
);
}
}
如果你输入你的代码,也许我可以帮你更多。也许原因是当你播放视频时,它还没有准备好。您可以使用_controller.value进行检查。初始化
,当视频未准备好返回Container()
code片段时:
return Center(
child: _controller.value.initialized
? AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
)
: Container(),
);
或者,如果您使用webview,请从应用程序标签中删除这些行。
Android:硬件加速器=“假”
android:大堆="true"