如果动画用“\only”分割,动画帧会闪烁

如果动画用“\only”分割,动画帧会闪烁

我给了讲话我使用 '暂停' 电影/动画\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}

相关内容