我给了讲话我使用 '暂停' 电影/动画\only
。当进入下一个动画步骤时,前一个动画的第一帧会闪动一瞬间,'破坏' 暂停的幻觉......
我知道预计会出现 MWE,但很难找到提供完全独立代码的方法,因为它需要访问电影帧[1]才能显示该问题。
我的想法是,我想为听众暂停电影,然后继续播放演示内容。
目前相关代码是:
\begin{frame}
\only<1>{%
\animategraphics[autoplay]{24}{./video-0}{000}{150}%
}%
\only<2>{%
\animategraphics[autoplay]{24}{./video-0}{150}{171}%
}%
\only<3>{%
\animategraphics[autoplay]{24}{./video-0}{171}{300}%
}%
\end{frame}
我还尝试了autopause
动画 - 根据动画包的文档 - 应该“在页面关闭时暂停动画,而不是停止并将其倒回到默认帧。”,但这没有帮助。
这里是否有人对动画帧更熟悉,知道如何避免让听众看到我的演讲“旧”帧?
[1]:其中有300个单帧......
答案1
这可能确实取决于运行动画的设备。
不幸的是,autopause
一旦动画结束,它就不再有效。可以通过在最后一帧之后明确暂停动画来解决该问题。这可以防止在页面切换时回到开始处。但是,这需要添加动画时间轴或使用animateinline
暂停\newframe*
:
\documentclass{beamer}
\usepackage{animate}
%\graphicspath{{./images/VETSUISSE/HorseLimb/Limb02/frames/}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\zeropad#1#2{%
\ifnum1#2<1#1
\zeropad{#1}{0#2}%
\else%
#2%
\fi%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\newcommand{\imheight}{0.618\paperheight}
\begin{frame}{Before Hoof}
\end{frame}
\begin{frame}
\frametitle{Hoof}
\only<1>{%
\begin{animateinline}[autoplay]{24}
\multiframe{151}{i=0+1}{\includegraphics[height=\imheight]{video-\zeropad{0000}{\i}}}%
\newframe*
\includegraphics[height=\imheight]{video-0150} % last frame needs to be repeated
\end{animateinline}
}%
\only<2>{%
\begin{animateinline}[autoplay]{24}
\multiframe{22}{i=150+1}{\includegraphics[height=\imheight]{video-\zeropad{0000}{\i}}}%
\newframe*
\includegraphics[height=\imheight]{video-0171} % last frame needs to be repeated
\end{animateinline}
}%
\only<3>{%
\animategraphics[autoplay,height=\imheight]{24}{video-}{0171}{0300}%
}%
\end{frame}
\end{document}