YouTube---获取iframe的时间

YouTube教程

https://developers.google.com/youtube/iframe_api_reference?csw=1

 后台上传YouTube视频链接,获取这个视屏的时长。

主要代码:

1.获取videoId

        // 获取YouTube视频的videoId
        function matchYoutubeUrl(url) {
            var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
            return (url.match(p)) ? RegExp.$1 : false;
        }

 

 2.异步引入YouTube提供的api

<script src="https://www.youtube.com/iframe_api"></script>

3.创建YouTube播放器

        var player;
        function onYouTubeIframeAPIReady() {
            player = new YT.Player('playerYouTube', {
                height: '360',
                width: '640',
                videoId: matchYoutubeUrl('https://www.youtube.com/embed/MYD4kVqxWTY'), // 改变YouTube视频的videoId
                events: {
                    'onReady': onPlayerReady,
                    'onStateChange': onPlayerStateChange
                }
            });
        }

 4.当视频播放器准备好时,API将调用这个函数

        // 4.当视频播放器准备好时,API将调用这个函数
        function onPlayerReady(event) {
            // 视频的时长
            var YouTubeTime = event.target.getDuration();
            console.log(YouTubeTime, 'YouTubeTime')
            event.target.playVideo();
        }

完整代码:

<body>
    <!-- <iframe width="560" height="315" src="https://www.youtube.com/embed/MYD4kVqxWTY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> -->
    <!-- 1.<iframe>(和视频播放器)将取代这个<div>标签。 -->
    <div id="playerYouTube"></div>


    <script>
        // 获取YouTube视频的videoId
        function matchYoutubeUrl(url) {
            var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
            return (url.match(p)) ? RegExp.$1 : false;
        }
        // 2.此代码异步加载IFrame播放器API代码。
        var tag = document.createElement('script');
        tag.src = "https://www.youtube.com/iframe_api";
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
        // 3.这个函数创建一个<iframe>(和YouTube播放器)
        //下载API代码后。
        var player;
        function onYouTubeIframeAPIReady() {
            player = new YT.Player('playerYouTube', {
                height: '360',
                width: '640',
                videoId: matchYoutubeUrl('https://www.youtube.com/embed/MYD4kVqxWTY'), // 改变YouTube视频的videoId
                events: {
                    'onReady': onPlayerReady,
                    'onStateChange': onPlayerStateChange
                }
            });
        }

        // 4.当视频播放器准备好时,API将调用这个函数
        function onPlayerReady(event) {
            // 视频的时长
            var YouTubeTime = event.target.getDuration();
            console.log(YouTubeTime, 'YouTubeTime')
            event.target.playVideo();
        }

        var done = false;
        function onPlayerStateChange(event) {
            if (event.data == YT.PlayerState.PLAYING && !done) {
                setTimeout(stopVideo, 6000);
                done = true;
            }
        }
        function stopVideo() {
            player.stopVideo();
        }
       
    </script>
</body>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值