嵌入带有特定时间戳的 Youtube 视频

嵌入带有特定时间戳的 Youtube 视频

我使用类似这样的方法来嵌入 YouTube 视频:

\documentclass{article}
\usepackage{media9}             %pdflatex, latex+dvips+ps2pdf, xelatex
    %\usepackage[dvipdfmx]{media9}  %latex+dvipdfmx

\begin{document}
\includemedia[
  width=0.6\linewidth,height=0.45\linewidth,
  activate=pageopen,
  flashvars={
    modestbranding=1 % no YT logo in control bar
   &autohide=1       % controlbar autohide
   &showinfo=0       % no title and other info before start
  }
]{}{http://www.youtube.com/v/<video id>?rel=0}   % Flash file
\end{document}

我想链接到特定时间的视频。通常,时间会作为链接附加到 URL 中#t=144。这当然会导致编译时出现以下错误:

! You can't use `macro parameter character #' in horizontal mode.

我试图逃避#,\#但没有成功。

有什么建议吗?

答案1

#Youtube URL 中的语法是错误的。语法已记录这里

Youtube 剪辑使用 Flash 变量进行配置。这些变量可以附加到 URL 或添加到flashvars选项参数中。无论哪种情况,FlashVars 都使用 & 符号分隔&,如所引用的示例所示。

因此,要在特定时间开始播放剪辑,需要说:

\documentclass{article}
\usepackage{media9}             %pdflatex, latex+dvips+ps2pdf, xelatex
%\usepackage[dvipdfmx]{media9}  %latex+dvipdfmx

\begin{document}

\includemedia[
  width=0.6\linewidth,height=0.45\linewidth,
  activate=pageopen,
  flashvars={
    modestbranding=1 % no YT logo in control bar
   &autohide=1       % controlbar autohide
   &showinfo=0       % no title and other info before start
   &start=144
  }
]{}{http://www.youtube.com/v/GZ9e3Dy7obA?rel=0}% Flash file

\end{document}

或者

\documentclass{article}
\usepackage{media9}             %pdflatex, latex+dvips+ps2pdf, xelatex
%\usepackage[dvipdfmx]{media9}  %latex+dvipdfmx

\begin{document}

\includemedia[
  width=0.6\linewidth,height=0.45\linewidth,
  activate=pageopen,
  flashvars={
    modestbranding=1 % no YT logo in control bar
   &autohide=1       % controlbar autohide
   &showinfo=0       % no title and other info before start
  }
]{}{http://www.youtube.com/v/GZ9e3Dy7obA?rel=0&start=144}% Flash file

\end{document}

答案2

首先,您可以更改 catcode 以#将其像普通字符一样使用:

\documentclass{article}
\usepackage{media9}             %pdflatex, latex+dvips+ps2pdf, xelatex
    %\usepackage[dvipdfmx]{media9}  %latex+dvipdfmx

\begin{document}

{\catcode`\#=12
\includemedia[
  width=0.6\linewidth,height=0.45\linewidth,
  activate=pageopen,
  flashvars={
    modestbranding=1 % no YT logo in control bar
   &autohide=1       % controlbar autohide
   &showinfo=0       % no title and other info before start
  }
]{}{http://www.youtube.com/v/<video id>?rel=0#t=144}% Flash file
}
\end{document}

这只是为了回答您关于的问题#

根据https://stackoverflow.com/questions/17379268/youtube-droped-t-start-time-support-in-direct-url-and-embed-videos指定开始时间的语法已经改变。

因此,对于您的应用程序,请使用:

\documentclass{article}
\usepackage{media9}             %pdflatex, latex+dvips+ps2pdf, xelatex
    %\usepackage[dvipdfmx]{media9}  %latex+dvipdfmx

\begin{document}

\includemedia[
  width=0.6\linewidth,height=0.45\linewidth,
  activate=pageopen,
  flashvars={
    modestbranding=1 % no YT logo in control bar
   &autohide=1       % controlbar autohide
   &showinfo=0       % no title and other info before start
  }
]{}{http://www.youtube.com/v/<video id>?start=144}% Flash file

\end{document}

相关内容