开发者社区> 问答> 正文

使用视频点播时,视频播放器status还是waitting的时候怎么dispose掉?

使用视频点播时,视频播放器status还是waitting的时候怎么dispose掉?目前直接.dispose 不生效

展开
收起
乐天香橙派 2023-07-18 15:51:02 58 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    当视频播放器的状态还是"waiting"时,无法直接用.dispose()来销毁它。

    这是因为视频还在加载中,dispose()方法不能立即生效。

    有两种方法可以在这个期间对视频播放器进行销毁:

    动态创建视频播放器:
    js
    Copy
    let player = document.createElement("video");
    // ...

    player.oncanplay = function() {
    // 加载完成后立即销毁
    player.dispose();
    }
    上面的做法是在视频可以播放(oncanplay)时才创建视频播放器,然后立即销毁。

    使用超时机制:
    js
    Copy
    setTimeout(function() {
    player.dispose();
    }, 1000);
    设定1秒的超时时间。如果1秒内视频还没加载完,就直接进行销毁。

    这两种方法都是在等待期间,利用事件回调或超时机制来销毁视频播放器。

    在销毁前要确认视频资源已卸载,可以监测:

    player.src = ''
    player.pause()
    player.load()

    2023-07-28 18:53:27
    赞同 展开评论 打赏
  • waiting是缓冲数据的时候才会触发,播放器初始化完成之前不可能会有数据缓冲事件。你参考下我这个
    <!DOCTYPE html>
















    —此回答来自钉群“阿里云-VOD-视频点播-技术交流(进群先看公告)”

    2023-07-18 18:08:43
    赞同 展开评论 打赏
  • 当视频播放器的状态为"waiting"(等待状态)时,需要先停止视频播放并释放资源,然后再进行dispose操作。以下是一般的步骤:

    1. 停止视频播放:调用视频播放器的停止方法,例如stop()pause(),来停止视频的播放。这将暂停视频的加载和播放。

    2. 释放资源:确保视频播放器已经停止后,可以调用视频播放器的资源释放方法,如release()dispose(),以释放与视频播放相关的资源。

    3. 执行dispose操作:在释放资源后,可以执行dispose操作来销毁视频播放器对象,释放内存和其他相关资源。

    具体的代码实现可能因所使用的视频播放器库或框架不同而有所差异。建议查阅所选用的视频播放器库的文档或示例代码,了解如何正确停止视频播放、释放资源和执行dispose操作的详细步骤。

    2023-07-18 15:56:58
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
互联网音视频点播业务云上实践 立即下载
《VoD问题排查与实战手册》 立即下载
低代码开发师(初级)实战教程 立即下载