我目前正在切换到 media9 以将视频包含在 beamer 中。我遇到了一个与可见性选项有关的问题。我想将两个视频与列表一起放在一个框架上。第一个视频在页面打开时与一些项目一起开始,而第二个视频在我突出显示项目的第二部分时显示并开始。这是我的代码,希望能找到解决方案:
\begin{frame}{Frame example}
\begin{columns}
\begin{column}{5.5cm}
\begin{itemize}
\item Blabla
\item Blabla
\item<2-> Bloblo
\item<2-> Bloblo
\end{itemize}
\end{column}
\begin{column}{4.5cm}
\begin{figure}{
\includemedia[
width=\columnwidth,height=2.8125cm,
activate=pageopen,
addresource=blabla_video.mp4,
flashvars={
source=blabla_video.mp4
&loop=true
&autoPlay=true
&scaleMode=letterbox
}
]{}{VPlayer.swf}
\caption{Blabla}}
\end{figure}
\visible<2->{
\begin{figure}{
\includemedia[
width=\columnwidth,height=2.8125cm,
activate=pagevisible,
addresource=bloblo_video.mp4,
flashvars={
source=bloblo_video.mp4
&autoPlay=true
&loop=true
&scaleMode=letterbox
},
transparent
]{}{VPlayer.swf}
\caption{Bloblo}}
\end{figure}}
\end{column}
\end{columns}
\end{frame}
我还注意到 Adobe Reader 使用 media9 读取视频的速度比使用 movie15 读取视频的速度要慢得多。这是否与我的配置有关,还是我缺少某种编解码器?这是否与出现有关检测到签名字段的警告有关?
我正在运行 MikTex 2.9,使用 pdflatex 进行编译并使用 Adobe Reader 11.0.3 打开 pdf
我希望你们能给出答案...
答案1
media9
不太适合与 Beamer 叠加一起使用。后者每帧生成多个 PDF 页面,并可能重新插入视频。
具体来说,\visible
在那些不显示其内容的覆盖层上保留空间。为了获得所需空白的尺寸,将参数\visible
排版到某个用于测量的框中。媒体文件显示在所谓的 PDF 注释中,这些注释不属于页面内容,而是位于页面上方的单独层中。它们不可避免地被添加到页面资源中,因此即使在它们应该不可见的覆盖层中也会显示出来。
不过,有一个技巧可以让它发挥作用。在\visible
参数中,我们放置一个\rule
与视频尺寸相同的框,并将其用于应该隐藏视频的叠加层中:
\documentclass{beamer}
\usepackage{media9}
\begin{document}
\begin{frame}{Frame example}
\begin{columns}
\begin{column}{5.5cm}
\begin{itemize}
\item Blabla
\item Blabla
\item<2-> Bloblo
\item<2-> Bloblo
\end{itemize}
\end{column}
\begin{column}{4.5cm}
\begin{figure}
\includemedia[
width=\columnwidth,height=2.8125cm,
activate=pageopen,
addresource=blabla.mp4,
flashvars={
source=blabla.mp4
&loop=true
&autoPlay=true
&scaleMode=letterbox
}
]{}{VPlayer.swf}
\caption{Blabla}
\end{figure}
\visible<2->{
\begin{figure}
\only<1>{\rule{\columnwidth}{2.8125cm}}%
\only<2->{%
\includemedia[
width=\columnwidth,height=2.8125cm,
activate=pagevisible,
addresource=bloblo.mp4,
flashvars={
source=bloblo.mp4
&autoPlay=true
&loop=true
&scaleMode=letterbox
}
]{}{VPlayer.swf}%
}
\caption{Bloblo}
\end{figure}}
\end{column}
\end{columns}
\end{frame}
\end{document}
请注意,当传递到第二个覆盖层时,第一个视频会再次从 PDF 中提取、解压、加载和启动,这可能会导致一些延迟。这是无法避免的。可以movie15
使用 JavaScript 将正在播放的视频从一个页面“拉”到下一个页面。这很不靠谱,但不知何故却有效。media9
这种可能性已经不复存在。