首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获取flutter中视频的总观看时长或播放时长?

在Flutter中获取视频的总观看时长或播放时长可以通过使用video_player插件来实现。video_player是一个Flutter插件,用于在应用程序中播放本地或网络视频。

要获取视频的总观看时长或播放时长,可以使用video_player插件提供的控制器(VideoPlayerController)和监听器(VideoPlayerListener)。

首先,需要在pubspec.yaml文件中添加video_player插件的依赖:

代码语言:txt
复制
dependencies:
  video_player: ^2.2.5

然后,在Flutter代码中导入video_player插件:

代码语言:txt
复制
import 'package:video_player/video_player.dart';

接下来,创建一个VideoPlayerController对象并加载视频文件:

代码语言:txt
复制
VideoPlayerController _controller;

@override
void initState() {
  super.initState();
  _controller = VideoPlayerController.asset('assets/video.mp4')
    ..initialize().then((_) {
      setState(() {});
    });
}

在初始化完成后,可以通过_controller对象获取视频的总时长:

代码语言:txt
复制
Duration totalDuration = _controller.value.duration;

要获取视频的播放时长,可以使用_controller对象的value属性中的position属性:

代码语言:txt
复制
Duration currentPosition = _controller.value.position;

如果需要实时获取视频的播放时长,可以使用_controller对象的addListener方法来添加一个监听器:

代码语言:txt
复制
_controller.addListener(() {
  Duration currentPosition = _controller.value.position;
  // 处理当前播放时长
});

以上是获取Flutter中视频的总观看时长或播放时长的基本步骤。根据具体的应用场景,你可以根据需要进行进一步的处理和展示。

推荐的腾讯云相关产品:腾讯云点播(云点播是腾讯云提供的一站式音视频点播解决方案,支持存储、转码、加密、播放等功能)

腾讯云点播产品介绍链接地址:https://cloud.tencent.com/product/vod

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • EasyNVR如何配置用户的视频流播放时长?

    在上期的文章中和大家分享了关于EasyNVR直播鉴权的功能及应用意义,通过直播鉴权的配置,管理员可以允许用户必须登录才能播放平台分享的视频流地址,极大保障视频资源的安全与隐私性。...有很多用户在使用EasyNVR时都遇到一个同样的需求,那就是将分发的流地址分享给用户播放时,如何控制用户的播放时长呢?因为,如果有用户一直在拉流播放,则会一直消耗服务器的带宽资源。...如果能控制用户的播放时长,则会大大降低服务器的消耗,节省带宽,并且也可以确保视频的安全性。EasyNVR平台在设计开发之初,已经考虑到此需求,对视频流的播放时长控制已经做过设计。...将值设置为true,即可打开流地址鉴权,并可以设置播放时长的权限,如图所示:用户可以根据自己的需求,自由设置分享的视频流播放时长,功能的灵活性很强。...EasyNVR平台是基于RTSP/Onvif协议的视频接入、处理及分发平台,能够实现设备接入、实时视频直播、录像、告警、级联等丰富灵活的视频功能。

    74320

    PiliPala:开源项目真香,B站用户狂喜!这个开源APP竟能自定义主题+去广告?PiliPala隐藏功能大揭秘

    查看用户主页,关注或取关用户。离线缓存、稍后再看、观看记录和我的收藏。黑名单管理,屏蔽不想要的用户视频。动态相关:全部、投稿、番剧分类查看动态。查看动态评论,回复动态评论。...音质选择(视视频而定),解码格式选择(视视频而定)。弹幕与字幕:支持弹幕显示,用户可以在观看视频时发送和查看弹幕。支持字幕显示,方便用户观看外语或听力障碍视频。...记忆播放:记忆播放功能,用户可以断点续播,继续上次的观看进度。视频比例:提供多种视频比例选择,包括高度/宽度适应、填充、包含等,满足不同用户的观看需求。...视频搜索排序、按时长筛选,帮助用户更精准地找到所需内容。视频详情页视频选集:支持分 P 视频的选集切换,方便用户观看系列视频。互动操作:点赞、投币、收藏/取消收藏,用户可以对喜欢的视频进行互动。...性能优化:PiliPala 利用 Flutter 的高性能和优化的视频播放库,提供了更加流畅的视频播放体验,尤其是在低性能设备上表现更为突出。

    10600

    播放器卡顿优化丨音视频工业实战

    播放卡顿是播放体验中另一个非常重要的指标,字节跳动曾经提供过一份数据:降低 7.7% 的卡顿率和 9.8% 的卡顿时长,带来了 0.22% 的用户观看时长提升。...我们可以通过下面这些指标来反映播放卡顿的情况: 卡顿率,在一次播放中发生过卡顿的播放次数在总的播放次数中的占比。 平均卡顿时长,用户观看视频发生卡顿的总时长与总的卡顿次数的比值。...因为一次播放中卡顿过 1 次或多次都算是卡顿过了,所以卡顿率不能很好的反应出用户卡顿的次数多不多,卡顿的时间有多久。百秒卡顿次数能反映用户卡顿的次数,但是不太能反映出用户的卡顿时长。...从推流端来看,我们可以计算直播间的 ACU(直播间用户总观看时长/直播间总推流时长)来评估直播间的热度及影响力,对于大主播我们可以推码率高一点的流来提升画质体验,对于数据较多而观众分散的小主播我们则可以适当降低推流码率...下图示例了一种倍速播放策略: 倍速播放策略 max-play-rate 和 min-play-rate 表示播放器的最大播放速率和最低播放速率。通常来讲,播放速率过低或过高会影响视频观看的体验。

    2.3K20

    HTML5 VideoAPI,打造自己的Web视频播放器

    每个浏览器中的播放控件都不太一样,但用途都一样,都可以控制开始和结束,跳到新位置和调节音量 autoplay:autoplay:如果出现该属性,则视频在就绪后马上播放。...meta:告诉浏览器先获取音频文件开头的数据块,从而足以确定一些基本信息(比如音频的总时长) none:**告诉浏览器不必预先下载。恰当地利用这些值,可以节省带宽。...) paused:设置或返回音频/视频是否暂停 currentTime:设置或返回音频/视频中的当前播放位置(以秒计) ended:返回音频/视频的播放是否已结束 更多属性、事件、方法请查看w3school...播放、暂停 总时长和当前播放时长显示 播放进度条 全屏显示 1.播放控件 视频播放器 中其实已经设置了相关代码,此时我们只需要把获取到的毫秒数转换成我们需要的时间格式即可,提供getFormatTime()函数: function getFormatTime(time) {

    5K40

    功能速递 | 腾讯云音视频播放器SDK新增短视频秒开组件、加密画中画等高级功能

    ,为用户提供直播、点播场景下流畅稳定的音视频播放能力,覆盖泛娱乐、电商、教育等多样化音视频业务场景,支持Web/H5、iOS、Android、Flutter平台。...短视频组件通过预播放、预下载、播放器复用和精准流量控制等技术,实现极速首帧、滑动丝滑的优质播放体验,从而提升用户播放量和停留时长。...画中画切换过程效果演示 VR播放插件 VR 播放组件可用于 VR 全景视频播放,播放中可以通过陀螺仪转动或或手势操作来改变视角,360度无死角的观看全景视频。...目前 VR 播放组件可支持配置单目或双目模式,单目模式适用于裸眼观看全景视频,双目模式适用于 VR 眼镜等设备观看。此外 iOS 端支持180度半球模型全景视频,可适应更多的使用场景。...RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。

    50120

    iOS音视频接入- TRTC计费及套餐介绍

    注:此基础服务的计费介绍不包含将 TRTC 房间内的音频流旁路到云直播系统中,让观众通过直播 CDN 观看。...低延时直播模式下,支持10万观众同时播放,播放延时低至1000ms。 CDN 旁路直播模式下,观众数量无限制。 语音通话 即两人或多人语音通话,支持 48kHz,支持双声道。...低延时直播模式下,支持10万观众同时播放,播放延时低至1000ms。 CDN 旁路直播模式下,观众数量无限制。 视频通话 即两人或多人视频通话,支持720P、1080P高清画质。...语音时长 视频互动直播场景下的语音时长 = 用户在 TRTC 房间内的总停留时长 - 接收视频画面时的停留时长。...计算公式: 消耗流量 = 码率 / 8 × 所有人观看总时长。 说明:所有人观看总时长 = 平均在线人数 × 人均观看时长,例如:1个人看60分钟和60个人都看1分钟的总时长相同。

    3.3K21

    实时音视频开发学习15 - 计费问题

    免费试用包的计费方式: 按照1:1:1:1分别抵扣语音、标清、高清和超清时长,即各类型计费1分钟均扣除1分钟试用套餐包时长。根据各类型用量实际产生的时间实时从试用套餐包中扣除相应分钟数。...语音互动直播计费 用量统计方式 实时音视频 TRTC 按 房间 内所有用户产生的语音时长来统计视频互动直播服务的用量。用户在 TRTC 房间内的总停留时长计为该用户的语音时长。...预付费套餐包套餐时长和使用语音时长按照1:1的形式进行扣除,以下为套餐包类型 套餐包中可以看出套餐包时长越长折扣越大,收益越多。...标准转码功能和添加水印功能为拉流触发,播放才会产生标准转码费用;混流为推流触发,即使不播放也会产生标准转码的费用。...语音时长等与用户在TRTC房间总停留时长减去接收视频画面停留的时间长,同一个用户订阅多路音视频流时语音时长不会叠加,而用户在同一个房间多次进出会计算其语音的总时长,精度为秒级。

    2.2K30

    TRTC Android端开发接入学习之计费和套餐(十)

    免费试用包的计费方式: 按照1:1:1:1分别抵扣语音、标清、高清和超清时长,即各类型计费1分钟均扣除1分钟试用套餐包时长。根据各类型用量实际产生的时间实时从试用套餐包中扣除相应分钟数。...用户在 TRTC 房间内的总停留时长计为该用户的语音时长。同时订阅了多路音频流的同一个用户的语音时长不会被叠加计算。用户成功进入 TRTC 房间后,无论是否接收音频数据,都会计算语音时长。...预付费套餐包套餐时长和使用语音时长按照1:1的形式进行扣除,以下为套餐包类型 QQ截图20200925143649.png 套餐包中可以看出套餐包时长越长折扣越大,收益越多。...标准转码功能和添加水印功能为拉流触发,播放才会产生标准转码费用;混流为推流触发,即使不播放也会产生标准转码的费用。...语音时长等与用户在TRTC房间总停留时长减去接收视频画面停留的时间长,同一个用户订阅多路音视频流时语音时长不会叠加,而用户在同一个房间多次进出会计算其语音的总时长,精度为秒级。

    1.7K10

    大厂技术实现 | 爱奇艺短视频推荐业务中的多目标优化实践 @推荐与计算广告系列

    ⛵ 大厂技术实现的数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『大厂』,或者点击 这里 获取本文 爱奇艺短视频推荐业务中的多目标优化实践 『2021微信大数据挑战赛数据集』⭐ ShowMeAI...图片在爱奇艺的场景中,分别训练点击的二分类模型以及观看时长预估的回归模型。对于融合参数,离线采用grid search的方式调参获得组合值。...图片四、【实现方案3】 多任务学习:网络设计与调优爱奇艺的社区化建设和业务趋势下,feed流推荐效果需要:保证用户观看时长、观看视频数、点击率等基础指标提升或稳定;引导用户评论、点赞等互动。...图片如图所示,在爱奇艺的feed流场景中,用户的观看时长或者互动行为都是发生在点击之后的,可以把『点击&时长』,或者『点击&互动』作为ESMM迭代的方向。...基于 PSO 算法进行多目标搜参,首先初始化参数;通过乘法融合得到每个视频最终的排序分,并计算各子目标的 AUC;根据指标的重要性对完播率分类的 AUC、播放时长的PNR等确定权重,定义总的优化目标:

    2.2K64

    90%的直播高手都会遇到这些坑

    @某公司技术工程师:如何将一个时长为16小时的直播流,进行自动抽取录制,最后生成十几分钟的短视频?...▲自动剪辑精彩集锦的步骤 NO.4 直播播放问题 @某公司技术工程师:如何给直播加防盗链机制?...@某公司技术工程师:我开了很多房间直播,我如何知道一个特定房间的流量呢? @直播技术支持回复@某公司技术工程师: 查询某条直播流的统计信息(如观看人数、带宽、码率、帧率等)获取统计信息,如图 ?...@直播技术支持回复@某公司技术工程师: 一个直播频道流量消耗=(直播码率/8)*直播观看时长(秒)*观看人数 ?...▲直播流量计算公式 举个例子: 直播码率为500kbps,直播时长为1小时,观看人数为100人,则消耗的流量约为:22.5GB。

    2.8K64

    【技术分享】 Youtube 短视频推荐系统变迁:从机器学习到深度学习

    ,大概逻辑如下: 3.jpg 种子视频生成是根据用户历史正向行为获取的,比如用户收藏、赞、加入播放列表、评分等。...视频质量 v 用户的切合程度 v 多样性 视频质量主要是根据用户反馈信息来得到,比如收看数目、总被观看时长、评分、评论、赞、分享等,同时还有视频的上传时间之类的信息 用户切合度是取决于用户对种子视频的喜欢程度...,正样本的权重是播放时长Ti,负样本权重是1,而最后一层模型是weighted logistic regression;那么LR学到的odds为: 10.jpg 其中N是总的样本数量,k是正样本数量,Ti...是第i正样本的观看时长。...那么问题就来了,他们是如何让用户在这么多的视频中快速的发现自己感兴趣的内容呢?

    1.3K150

    Youtube 短视频推荐系统变迁:从机器学习到深度学习

    Youtube是全球最大的视频分享平台,用户量高达10亿+,每天上传的UGC和PGC都是百万级别。那么问题就来了,他们是如何让用户在这么多的视频中快速的发现自己感兴趣的内容呢?...,大概逻辑如下: 种子视频生成是根据用户历史正向行为获取的,比如用户收藏、赞、加入播放列表、评分等。...v 多样性 视频质量主要是根据用户反馈信息来得到,比如收看数目、总被观看时长、评分、评论、赞、分享等,同时还有视频的上传时间之类的信息 用户切合度是取决于用户对种子视频的喜欢程度,以及视频之间的相似程度...,正样本的权重是播放时长 Ti,负样本权重是1,而最后一层模型是weighted logistic regression;那么LR学到的odds为: 其中 N 是总的样本数量,k 是正样本数量,Ti...是第i正样本的观看时长。

    6.2K20

    Youtube 短视频推荐系统变迁:从机器学习到深度学习

    作者 | 赖博先 Youtube是全球最大的视频分享平台,用户量高达10亿+,每天上传的UGC和PGC都是百万级别。那么问题就来了,他们是如何让用户在这么多的视频中快速的发现自己感兴趣的内容呢?...,大概逻辑如下: 种子视频生成是根据用户历史正向行为获取的,比如用户收藏、赞、加入播放列表、评分等。...v 多样性 视频质量主要是根据用户反馈信息来得到,比如收看数目、总被观看时长、评分、评论、赞、分享等,同时还有视频的上传时间之类的信息。...,正样本的权重是播放时长 Ti,负样本权重是1,而最后一层模型是weighted logistic regression;那么LR学到的odds为: 其中 N 是总的样本数量,k 是正样本数量,Ti 是第...i正样本的观看时长。

    926120

    Youtube 短视频推荐系统变迁:从机器学习到深度学习

    Youtube是全球最大的视频分享平台,用户量高达10亿+,每天上传的UGC和PGC都是百万级别。那么问题就来了,他们是如何让用户在这么多的视频中快速的发现自己感兴趣的内容呢?...,大概逻辑如下: 种子视频生成是根据用户历史正向行为获取的,比如用户收藏、赞、加入播放列表、评分等。...v多样性 视频质量主要是根据用户反馈信息来得到,比如收看数目、总被观看时长、评分、评论、赞、分享等,同时还有视频的上传时间之类的信息 用户切合度是取决于用户对种子视频的喜欢程度,以及视频之间的相似程度...,正样本的权重是播放时长Ti,负样本权重是1,而最后一层模型是weighted logistic regression;那么LR学到的odds为: 其中N是总的样本数量,k是正样本数量,Ti是第i正样本的观看时长...因此在线上serving的inference阶段,我们采用ex作为激励函数,就是近似的估计期望的观看时长。

    99720

    你问我答 | 云点播VOD 第13期

    您好,产生的加速流量 = 码率 × 时长 × 观看人数,通过此公式您可预估出大概需要多少的流量。...例如,码率为500Kbps,时长1小时,观看人数为100人,则消耗的流量约为:500/8KBps × 3600s × 100人 = 22500000KB = 22.5GB 更多详情请参考文档:https...您好,云点播重复观看视频是计费的,重复观看也是重新加载的,若使用同一个终端 ID 通过点播链接观看一次视频,则消耗一次流量,是会重复消耗的,每次打开视频都会产生流量消耗。...[ 视频加密] 是一种使用密钥对内容本身加密的手段,他人获取后无法直接播放。只有当终端通过业务后台鉴权,获得解密密钥后才能播放 Q11:云点播如何上传超大量视频文件?...在排除视频文件本身问题的情况下,视频卡顿有可能是因为播放视频的电脑配置过低或局部网络条件欠佳(包括带宽和时延)引起的,可以通过改变播放视频的硬件设备或网络环境来尝试分析。

    2.2K20

    网课杀手 loop

    原来事情是这样的,他们大学布置了一些网课,这些网课通过账号密码登录一个web系统观看。只记录观看时长,时长累计够了就能拿到学分。一个视频看多次也可累计时长。...一个视频观看后自动暂停,不可以同时观看多个视频。 在这样的规则下,找到网课中最长的那个视频,持续观看,这样效益是最大的。比如有一节网课2个小时,那么只需要看3次基本就积累够学分了。...于是我尝试这编写一些代码去获取一门课中的最长视频是哪个, 把一门课中所有的视频链接多获取,然后使用浏览器打开,然后记录每个视频的长度,最后找到最长的。 按着这个思路我做到一般就放弃了。...我把 loop="loop" 添加到 video 标签中。 在视频播放完成后,果然自动播放了。 哈哈哈。。。。看到这个结果真是让人高兴地不得了。...虽然视频能够循环播放了,但我们还需要验证一下,这样循环播放后,观看时长是否真正地增加了。 通过测试,累计观看时长确实增加了。 至此,网课杀手 loop 的故事 告一段落。

    1.2K30

    新知 | 腾讯云视立方播放器技术实现与应用

    多平台支持:支持安卓、iOS、 Web以及Flutter等多种平台。 在追求卓越内核的同时,腾讯云视立方播放器也非常关注业务的接受成本。...动态水印可以实现用户ID在视频上滚动显示,达到防盗录、盗播的效果,提升视频安全性。会员试看能力可以设定非会员可试看时长,超过时长后会弹出会员提示、购买窗等信息。...对于进阶场景,比如弹幕、会员试看、动态水印等,开发者也只需在SuperPlayerModel中配置相关信息,例如可观看时长、动态水印文本、大小等等,就可以轻松地实现。...上图是一个简化的启播流程,从获取数据开始,之后UI展示,封面展示,获取URL/fileID以及配置视频参数,传递到播放器调起播放。...这里需要提前进行数据获取,或做好缓存相关管理来减少耗时。流程中第二个引起耗时操作的地方在获取视频链接。

    2.5K30
    领券