当前位置: 首页 > 知识库问答 >
问题:

如何在uniapp的h5端实现m3u8文件的播放与暂停时播放时间的记录?

石超
2023-11-23

请问各位大佬们如何实现, uniapp在h5端实现播放m3u8文件并且支持控制播放开始时间以及记录播放暂停时间

最好是一种比较稳定的方法

共有1个答案

小牛22991
2023-11-23

要在uniapp的h5端实现m3u8文件的播放、暂停时播放时间的记录,你可以考虑使用HTML5的视频元素和JavaScript来实现。以下是一种可能的方法:

首先,你需要在页面上创建一个video元素来播放m3u8文件,并添加一个按钮来控制播放和暂停。

<video id="myVideo" width="320" height="240" controls>  <source src="path/to/m3u8file.m3u8" type="application/vnd.apple.mpegurl">  Your browser does not support the video tag.</video><button @click="togglePlay">播放/暂停</button>

然后,在JavaScript中,你可以使用video元素的currentTime属性来获取当前的播放时间,使用play()pause()方法来控制播放和暂停。同时,你可以在播放和暂停时记录时间。

let video = document.getElementById('myVideo');let startTime = null;let currentTime = null;// 播放/暂停按钮的点击事件function togglePlay() {  if (video.paused) {    video.play();    startTime = Date.now(); // 记录开始时间    currentTime = video.currentTime; // 记录当前播放时间  } else {    video.pause();    currentTime = Date.now() - startTime; // 计算已经播放的时间  }}

这样,你就可以在uniapp的h5端实现m3u8文件的播放,并通过按钮控制播放和暂停,同时记录播放时间了。注意,由于m3u8文件是分段的,所以播放时间可能不准确,你可能需要使用其他方法来获取准确的播放时间。

 类似资料:
  • 我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是,当录像机或视频播放器启动时,我需要暂停音频播放器。 有什么方法可以处理这个任务吗?例如,我有来处理这些调用。当我接到呼叫或wnat呼叫时,我们可以使用呼叫状态暂停播放器。我想为录像机或视频播放器以及相同的场景。当视频/录制开始时,我需要暂停音频播放器。

  • 你可以通过剪辑AnimationClip、操作AnimationAction、混合器AnimationMixer完成一些播放效果。 播放/暂停(.paused属性) <button onclick="pause()" type="button" style="position: absolute;padding: 10px;">暂停/继续</button> <script> // 暂停继续播放

  • 我正在使用ExoPlayer播放视频的应用程序。出于某种原因,当我试图暂停时,视频播放器没有显示播放/暂停图标。我只为播放/暂停做了一个自定义布局,并将其设置在PlayerView上。使用或播放/暂停视频。到处都找不到解决办法,好像我错过了什么,但又不知道是什么。

  • 在webview iframe和webview上播放的视频设置在回收卡视图上。许多视频都在他们的recyclerview上。 我想在用户开始滚动回收器时暂停播放视频,并在用户播放另一个视频时暂停播放视频。 查看代码 我想用这个: 请帮我解决这个问题。任何帮助都将不胜感激。谢谢!

  • 我试图实现一个播放/暂停按钮,用于连接到ARKit场景中节点的位置音频。我希望用户能够暂停音频,然后在以后的时间从暂停点恢复它。因此不好,因为这会在重新连接音频时将其重置到起始位置。 我能找到的唯一与SCNAudioPlayers相关联的暂停方法深藏在下面: 有人知道这能不能做到吗? 提前谢了。

  • ap.pauseBackgroundAudio(CALLBACK) 暂停播放音乐。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <style>.output{ display:block; max-width: 100%