8

我正在尝试使用最近启动的 flutter_web 创建一个网络应用程序,但在我的应用程序中播放视频时遇到了问题。有人可以指导我如何在flutter_web 中播放视频。

  1. 我试图为flutter web创建一个web插件,但是作为flutter_web的官方文档,我们不能为web创建一个插件。
  2. 我尝试在 index.html 中添加视频和 iframe 标记,但没有成功。
  3. 我尝试使用 dart:html 提供的 VideoElement,但不知道如何使用它。
prefix1.VideoElement element = prefix1.VideoElement();
    element.height = 200;
    element.width = 200;
    element.appendHtml("""<video width="400" controls>
  <source src="mov_bbb.mp4" type="video/mp4">
  <source src="mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>
    """);
    element.querySelector('#video');
    element.play();
4

3 回答 3

4

您现在可以通过将官方 video_player_web 插件添加到您的pubspec.yaml

video_player: ^0.10.4+1
video_player_web: ^0.1.0

然后您可以按照视频播放器食谱或使用chewie 插件来获得漂亮的用户界面。

于 2019-12-05T23:55:48.043 回答
2

我设法自动播放视频并播放声音。

我需要能够与视频进行交互,例如暂停、停止或播放。

希望对你有帮助,问候。

import 'package:flutter_web_ui/ui.dart' as ui;
import 'dart:html';

main() async {
  await ui.webOnlyInitializePlatform();
  VideoElement videoElement;
  videoElement = querySelector('#video');
  videoElement.src = "https://storage04.dropshots.com/photos6000/photos/1381926/20170326/005609.mp4";
  videoElement.muted = false;
  await videoElement.play();
}

HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
  <script defer src="reproductor.dart.js" type="application/javascript"></script>
</head>
<body>    
    <video id="video" class="absolute right-0 bottom-0 min-w-full min-h-full w-auto" controls autoplay muted></video>
</body>
</html>
于 2019-08-15T14:37:32.933 回答
1

html_platform_view在我从 Flutter Web repo运行示例之前,我一直在为同样的问题苦苦挣扎。试试这个:

void main() {
  ui.platformViewRegistry.registerViewFactory(
    'hello-world-html', 
    (int viewId) => IFrameElement()..src = 'https://www.youtube.com/embed/tgbNymZ7vqY'
  );

  runApp(Directionality(
    textDirection: TextDirection.ltr,
    child: HtmlView(viewType: 'hello-world-html'),
  ));
}
于 2019-06-29T09:57:19.037 回答