微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

youtube iframe api中未捕获的TypeError

如何解决youtube iframe api中未捕获的TypeError

这是我的代码。我正在使用 youtube iframe api。我正在尝试检查我的播放器是否静音。但是无论何时使用 player.isMuted()。我收到一个错误,即 isMuted 不是一个函数。当我使用 unMute() 或 getVolume() 等函数时出现类似错误

这是我嵌入视频播放器的 html

 <iframe class="embed-responsive-item" id="videoPlayer" 
     src="https://www.youtube.com/embed/{{ isset($video->video) ? $video->video : $video->link }}?autoplay=1&mute=1&controls=0&disablekb=1&enablejsapi=1" 
     frameborder="0" 
     allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
     allowfullscreen>
 </iframe>

这是我的 javascript

        function onYouTubeIframeAPIReady() {
        player = new YT.Player('videoPlayer',{
            events: {
                'onReady': onPlayerReady,'onStateChange': onPlayerStateChange
            }
        });
    }

    function onPlayerReady(event) {
        $('.placeholder').click(function() { 
            event.target.playVideo()
        });
    }

    function onPlayerStateChange(event) {
        if(player.isMuted() == true) {
            console.log('muted');
        }

    }


   $(function() {
        var tag = document.createElement('script');
        tag.id  = 'iframe-demo';
        tag.src = 'https://www.youtube.com/iframe_api';
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag,firstScriptTag)
        window.onYouTubePlayerAPIReady = function() {
            onYouTubeIframeAPIReady();
        };
   })

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。