这个播放器只有2个按钮,播放/暂停和全屏,它看起来像一个system player,如此快速和简单.
我UIWebView and HTML5在UIView里面使用过,但是UIWebView很慢,没有全屏就无法播放.
如果这个玩家是一个UIObject或一些UIView的东西,我该如何添加它?
谢谢〜

I am using the flutter video_player package to play a short video file using in my application. I inspired from the flutter cookbook: Play and pause a video.
I would like to allow the user to tap on the video to restart it from beginning. So I wrapped the VideoPlayer with a GestureDetector.
I currently have the following code:
class MyVideoPlayer extends StatefulWidget {
final File videoFile;
MyVideoPlayer({Key key, this.videoFile}) : super(key: key);
@override
_MyVideoPlayerState createState() => _MyVideoPlayerState(); …Run Code Online (Sandbox Code Playgroud) 我正在使用 Flutter 开发一个 APP。在 APP 中有一个 PageViews 列表,每个 PageView 在出现时都会加载和播放视频。当视频消失时,任何 PageView 都会停止播放视频。现在我有一个问题。当我在 PageViews 之间慢慢滑动时,会同时出现两个 PageView。每个 PageView 出现一个部分。但是两个PageView都在播放视频。我想知道我是否可以检查当前的PageView是否完全消失,然后我停止播放视频。当下一个 PageView 完全显示时,它开始播放视频。所以它不会同时在两个 PageView 中播放视频。任何人都可以帮助我吗?
import 'package:video_player/video_player.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MultiplePage(),
);
}
}
class MultiplePage extends StatefulWidget {
@override
_MultiplePageState createState() => _MultiplePageState();
}
class _MultiplePageState extends State<MultiplePage> {
PageController …Run Code Online (Sandbox Code Playgroud) 我已经使用了最新版本的 video_player flutter (video_player: ^0.10.5+1) 但显示以下警告。
注意:某些输入文件使用或覆盖已弃用的 API。
注意:使用 -Xlint:deprecation 重新编译以获取详细信息。
注意:/Users/pc/Documents/AshishAlagiya/Flutter/Tool/flutter112hotfix5/flutter/.pub-cache/git/plugins-e1e8a04bd104a6a772e6f0e72eaf8615f14c6541/packages/video_player/plugins/iosrc/mainflutter videoplayer/VideoPlayerPlugin.java 使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。
我正在使用这个库来实现视频功能。
https://pub.dev/packages/video_player
现在,我已经成功地让它发挥作用。
但是,接下来,我需要通过代码制作播放/暂停或搜索按钮??
我想要的只是简单的控制器,比如操作系统基本播放器,没有可设计的就可以了。
我想有一种方法可以更轻松地实现接口而无需重新发明轮子......
我对么??
我用谷歌搜索,但没有找到。
我正在为 React 项目使用 React Player npm install。视频播放器处于模态。当模态关闭时如何阻止它播放?是否有一种ReactPlayer.stop()或一种ReactPlayer.pause()类型的功能可以添加到我的hideModal函数中?
<Modal show={this.state.show} handleClose={this.hideModal} >
<ReactPlayer url='https://www.youtube.com/watch?v=ysz5S6PUM-U' width='100%'
height='100%' />
</Modal>
Run Code Online (Sandbox Code Playgroud) 简而言之,我的 macOS 应用程序纯粹用 SwiftUI 编写,使用 VideoPlayer 来呈现本地存储的视频(未捆绑)。相关代码如下:
import SwiftUI
import AVKit
struct CustomizedPlayerView: View {
@State var player: AVPlayer?
var body: some View {
VStack {
if let avPlayer = self.player {
VideoPlayer(player: avPlayer).frame(minWidth: 320, minHeight: 320)
}
Text("Problematic VideoPlayer View")
}
}
}
Run Code Online (Sandbox Code Playgroud)
在 Xcode 中进行开发构建时,没有任何问题(没有崩溃,没有播放问题)。
但是,在经过公证的应用程序中打开视图会导致整个应用程序崩溃并显示Exception Type: EXC_CRASH (SIGABRT). 这向我发出信号,系统正在中止我的应用程序,因为零值的分配不正确,但播放器似乎在崩溃时传递了一个非零值。
经过一番调试和研究后我发现了这个问题。我想分享对我有用的方法,并希望它能节省别人的时间。
我正在使用一些HTML5视频播放器JWPLAYER,JWPLAYER它会动态添加类似于video_container的某些类.
现在当点击关闭按钮时我隐藏或移除播放器,我遇到的问题是有时用户可能会尝试在视频之前单击关闭按钮或JWPLAYER完全加载,这会导致不必要的错误或有时div被隐藏但视频声音正在后台播放.
因为我有每个div的唯一ID,并且jwplayer动态添加了类.我想知道是否可以检查是否存在具有两者的divuniqueId and class
<div class = 'myclasss' id = 'myid'> </div>
Run Code Online (Sandbox Code Playgroud)
我可能在DOM中有多个播放器,所以我需要在类中使用唯一的Id来检查DIV是否存在.我知道可以使用单独的类或ID 来检查它,如此处所述,但可以使用ID和CLASS进行检查.
我理解我的方法可能是错的,如果你有更好的解决方案,请告诉我,但作为一个新的学习者,出于好奇,我已经问过这个假问题(如果有人可能会这样).
请帮我找到答案
感谢帮助 :)
我想开发一个 Flutter 应用程序,用户可以通过一个按钮从在线下载所有视频并将其存储在本地设备上,然后在 Flutter 应用程序上使用视频播放器离线播放这些视频?
我通过资产视频做到了这一点。但是如果我使用来自资产的视频并构建应用程序,那么 apk 大小会更大。这就是为什么我想要制作这个颤动应用程序,用户打开应用程序并单击一个按钮一个按钮,按下一个按钮,通过选定小部件中的链接从预定义服务器下载的列表视频。然后用户可以通过视频播放器播放这些视频。
当前使用video_player来自给定链接的 flutter插件流视频。问题是我不得不隐藏正常的视频交互界面,以便用户无法跳过视频。现在大部分工作已经完成,只需要知道如何显示duration和current position播放的视频。
videoController.value.duration.inSeconds给我duration部分,并videoController.value.position给position. But how to keep updating the results for the位置`部分?
void checkTimer(){
if(playerController.value.position == playerController.value.duration){
setState(() {
Duration duration = Duration(milliseconds: playerController?.value?.position?.inMilliseconds?.round());
nowTime = [duration.inHours, duration.inMinutes, duration.inSeconds]
.map((seg) => seg.remainder(60).toString().padLeft(2, '0'))
.join(':');
});
}
Run Code Online (Sandbox Code Playgroud)
创建上面的代码是为了根据需要更新时间。但现在的问题是如何更新时间。我应该使用setState()还是其他东西,因为上面的代码对我不起作用。
视频未加载,然后屏幕加载。然后当用户单击播放按钮时加载它。所以直到那个时候,我们甚至没有duration价值,因为数据还在路上。
我有一个离子应用程序,我在其中显示视频,当我在chrome浏览器和android设备上对其进行测试时,效果很好,但是在iPhone上什么也没显示。这是我的html代码:
<iframe ng-show="article.external_media.length > 0 && article.external_media.url != ''" ng-src="{{article.external_media[0].url | safeUrl }} "></iframe>
Run Code Online (Sandbox Code Playgroud) video-player ×11
flutter ×6
video ×3
ios ×2
android ×1
angularjs ×1
avkit ×1
dart ×1
flutter-web ×1
iframe ×1
javascript ×1
jquery ×1
jwplayer ×1
jwplayer6 ×1
objective-c ×1
plugins ×1
position ×1
react-player ×1
reactjs ×1
swiftui ×1