【问题标题】:Youtube - custom play icon [closed]Youtube - 自定义播放图标 [关闭]
【发布时间】:2015-12-14 04:17:12
【问题描述】:

我想问,我是否可以更改 Youtube 嵌入的视频播放图标? 我找到了这篇文章: Can I change the play icon of embedded youtube videos? 但是这个按钮在原始播放图标的顶部,所以如果我使用透明的东西,原始播放图标将是可见的。

感谢您的帮助。

【问题讨论】:

    标签: javascript html youtube


    【解决方案1】:

    我不认为你可以改变真正的按钮,但你可以解决它:

    1. 隐藏播放器
    2. 按照here 的描述获取缩略图,并将其放在您的页面上,与播放器的位置和大小相同
    3. 将您自己的播放图标放在缩略图上
    4. 点击播放图标后,隐藏缩略图和播放图标,显示播放器并使用链接中的 YouTube API 开始播放视频

    Fiddle

    //youtube script
    var tag = document.createElement('script');
    tag.src = "//www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    
    var player;
    
    onYouTubeIframeAPIReady = function () {
        player = new YT.Player('player', {
            height: '244',
            width: '434',
            videoId: 'AkyQgpqRyBY',  // youtube video id
            playerVars: {
                'autoplay': 0,
                'rel': 0,
                'showinfo': 0
            },
            events: {
                'onStateChange': onPlayerStateChange
            }
        });
    }
    
    var p = document.getElementById ("player");
    $(p).hide();
    
    var t = document.getElementById ("thumbnail");
    t.src = "http://img.youtube.com/vi/AkyQgpqRyBY/0.jpg";
    
    onPlayerStateChange = function (event) {
        if (event.data == YT.PlayerState.ENDED) {
            $('.start-video').fadeIn('normal');
        }
    }
    
    $(document).on('click', '.start-video', function () {
        $(this).hide();
        $("#player").show();
        $("#thumbnail_container").hide();
        player.playVideo();
    });
    .start-video {
        position: absolute;
        top: 80px;
        padding: 12px;
        left: 174px;
        opacity: .3;
        
        cursor: pointer;
        
        transition: all 0.3s;
    }
    
    .start-video:hover
    {
        opacity: 1;
        -webkit-filter: brightness (1);
    }
    
    div.thumbnail_container
    {
        width: 434px;
        height: 244px;
        overflow: hidden;
        background-color: #000;
    }
    
    img.thumbnail
    {
        margin-top: -50px;
        opacity: 0.5;
    }
    <div id="player"></div>
    <div id="thumbnail_container" class="thumbnail_container">
        <img class="thumbnail" id="thumbnail" />
    </div>
    <a class="start-video"><img width="64" src="http://image.flaticon.com/icons/png/512/0/375.png" style="filter: invert(100%); -webkit-filter: invert(100%);"></a>

    【讨论】:

    • 我猜,这是唯一的办法。谢谢。
    • 不幸的是,播放器不能在移动浏览器上以编程方式播放
    • 无法在不支持 player.playVideo() 的浏览器中运行,例如 iOS 上的 Safari。
    • 还有其他选择吗?如果是这样,我会更新我的答案
    猜你喜欢
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多