当我在本地主机上使用视频播放器时,它工作得很好,但当我发布它时,它不起作用。我应该怎么办?可能是什么问题? (它也适用于 Android 和 iOS)小部件 url 是来自 firebase 存储的下载 url。
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
class Video_player_Widget extends StatefulWidget {
const Video_player_Widget({Key? key, required this.url}) : super(key: key);
final String url;
@override
State<Video_player_Widget> createState() => _video_playerWidget();
}
@override
class _video_playerWidget extends State<Video_player_Widget> {
late VideoPlayerController controller;
@override
void initState() {
super.initState();
controller =
VideoPlayerController.network(widget.url)
..initialize().then((_) {
setState(() {
controller.setVolume(0);
controller.play();
controller.setLooping(false);
});
});
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
extendBodyBehindAppBar: true,
extendBody: true,
backgroundColor: Colors.black,
appBar: AppBar(
iconTheme: IconThemeData(
color: Colors.white,
),
title: Text(""),
shadowColor: Colors.transparent,
backgroundColor: Colors.transparent,
centerTitle: true,
),
body: Center(child: ListView(
padding: const EdgeInsets.all(0),
shrinkWrap: true,
children: <Widget>[
Stack(
alignment: Alignment.topLeft,
children: <Widget>[
Center(
child: AspectRatio(
aspectRatio: controller.value.aspectRatio,
child: Stack(
alignment: Alignment.bottomCenter,
children: <Widget>[
VideoPlayer(controller),
_ControlsOverlay(controller: controller),
VideoProgressIndicator(controller, allowScrubbing: true, colors: VideoProgressColors(playedColor: Colors.lightBlue[900]!),),
],
),
),
),
])
]
),
)
);
}
}
我尝试将音量设置为 0,但这对我不起作用。
这是您对代码所做的唯一更改吗?我问这个问题是因为我现在面临同样的问题,并且从“晚”更改为“?”在这里不适合我。您还可以提供您部署应用程序时使用的命令吗?我在这里使用 html 渲染器。
谢谢你。