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 (将#修改为@)