38

最近,可以使用#t=2m0sor#t=120设置直接链接的开始时间:

http://www.youtube.com/watch?v=Fk2bUvrv-Uc#t=2m30s

以及嵌入视频:

<iframe width="420" height="315" \
src="http://www.youtube.com/embed/Fk2bUvrv-Uc#t=2m30s" \
frameborder="0" allowfullscreen></iframe>

现在看来,YouTube 放弃了 #t 开始时间支持,并且上述内容不再起作用。我现在如何放置对具有特定开始时间的视频的引用?

4

8 回答 8

57

嵌入视频

看起来现在使用了不同的参数 - start=<number of seconds>(请参阅此博客文档)。

例子:

<iframe width="420" height="315" frameborder="0" allowfullscreen
        src="http://www.youtube.com/embed/Nc9xq-TVyHI?start=110&end=119"></iframe>

直接链接

#对于直接链接,只需替换for就足够了&

http://www.youtube.com/watch?v=Fk2bUvrv-Uc&t=2m30s
于 2013-06-29T13:16:18.110 回答
15

您可以使用 &t= 而不是 #t=

于 2014-08-21T20:00:34.283 回答
3

YouTube 放弃了对嵌入视频的 #t 开始时间支持。现在我们需要 etherstart=N&end=M根据他们的新 API 在几秒钟内直接使用参数,或者编写一些额外的代码来将我们的旧#t=(n)m(n)s符号转换为新的 API 兼容样式。

于 2013-12-20T09:21:32.583 回答
3

我能够根据开始和结束使视频剪辑正常工作,但确切的代码需要如下:

?开始=x&结束=y

其中 x 是以秒为单位的开始时间,y 是以秒为单位的结束时间

如果'?不存在它不起作用。此外,代码需要直接放在 URL 之后,没有任何空格,否则它不起作用。

于 2014-05-29T20:40:57.753 回答
1

我有大量的视频章节使用这种方法和一个 JQuery 插件。我已经修改了插件,以便您可以继续使用 (n)m(n)s 表示法。您可以很容易地更改它以从 URL 中获取 #t 值,而不是data我存储它的属性。

(function( $ ) {    
    $.fn.videoChapters = function(iframeID) {
        if(typeof window.orig_video === 'undefined') {
            window.orig_video = [];
        }
        window.orig_video[iframeID] = $('#'+iframeID).clone();

        var chapterContainer = this;
        $(this).find('a').on('click', function(e) {
                e.preventDefault();
                $('#'+iframeID).remove();
                $(chapterContainer).prevAll('.video-iframe').first().find('h3').after(window.orig_video[iframeID]);

                var video = $('#'+iframeID);
                if(typeof window.video_source === 'undefined') {
                    window.video_source = [];
                }

                if(typeof window.video_source[iframeID] === 'undefined') {
                    window.video_source[iframeID] = $(video).attr('src');
                }
                /*  to use it with a normal anchor change this to something like the below, of course it will vary for URL
                 *  so it'd be better to use a regex, but I'll let someone else worry about that.
                 *
                 *   var str = $(e.target).attr('href').split('#t')[1];
                 *   var nstr = $(str).split("s")[0];
                 *   var mstr = $(nstr).split("m");
                 *   var min = Number(mstr[0]);
                 *   var sec = Number(mstr[1]);
                 *   
                 * */

                var seconds = $(e.target).data('seconds');

                /* youtube dropped old min/secs format, now we convert what's there to pure seconds */
                var splsec = seconds.split('m');
                var min = Number(splsec[0]);
                var sec = Number(splsec[1].split('s')[0]);

                min = min * 60;

                var total = min + sec; 

                var newSource = window.video_source[iframeID] + "?start="+total+"&autoplay=1&rel=0";
                $(video).attr('src', newSource);
        });

    };  
})( jQuery );
于 2013-11-14T04:07:25.977 回答
0

使用 iframe 嵌入代码的开始和结束时间在我的测试中不起作用。对我有用的是这段代码:

从:

http://www.youtube.com/embed/[VIDEOID]

至:

http://www.youtube.com/v/[VIDEOID]&start=[SECONDS]&end=[SECONDS]

<object width="640" height="385">
<param name="movie" value="http://www.youtube.com/v/[VIDEOID]&start=100&end=500" />
<param name="allowscriptaccess" value="always" />
<embed src="http://www.youtube.com/v/[VIDEOID]&start=100&end=500" type="application/x-shockwave-flash" allowscriptaccess="always" width="640" height="385" />
</object>
于 2014-05-07T10:46:55.563 回答
0

利用

/watch?v=<videoID>&t=<s>

<videoID>=id of the video
<t>=number of seconds to skip

例子 :

https://m.youtube.com/watch?t=58&v=9W35QxCZnK4

视频从 58 秒开始或

https://www.youtube.com/watch?t=120&v=9W35QxCZnK4

视频从 2 分钟开始

于 2020-06-04T12:53:22.470 回答
0

它似乎与 #t= 一起工作(再次?),至少对于直接 URL。规定的网址: https ://www.youtube.com/watch?v=Fk2bUvrv-Uc#t= 2m30s 有效,即:它跳到 2 分 30 秒。我在 FF、Chrome、IE11 上对此进行了测试。但最好使用 &t= , & 是常见的 URL 参数连接字符。

于 2016-07-06T21:03:50.467 回答