这是 SE413129 的后续问题。如投影仪指南第 134 页所述,在投影仪框架中包含带有“海报”选项的电影不会导致显示第 1 帧。显示了一些(不可预测的)帧。单击海报后,动画将按预期播放。在 Debian Buster 下开发的 MWE:
以下 Octave 脚本制作了一系列图像,显示 100 帧中每帧的帧号:
set(gcf,"position",[20,100,800,450]);
for kt=1:100
clf
text(0.,0.,strcat(int2str(kt)));
axis([-1 1 -1 1])
drawnow
fname=strcat('./jpg/img',num2str(kt,"%04i"),'.jpg');
eval(['print -djpeg "-S800,450" ' fname]);
end
这些图像被拼接成动画,
ffmpeg -f image2 -i img%04d.jpg -r 24 anim.mov
可以使用 ffplay anim.mov 观看动画
最简单的投影仪演示如下:
\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}
\usepackage{multimedia}
\usepackage{graphicx}
\usetheme{Singapore} % name of theme substituted here
\newcommand{\degree}{\ensuremath{^\circ}}
\begin{document}
%% example frame with animation
\begin{frame}
\frametitle{Numbers}
\movie[height = 0.6 \textwidth,width = 1.0\textwidth,poster]{}{anim.mov}
\end{frame}
\end{document}
这是用
pdflatex anim.tex
当显示生成的 pdf 时(使用 okular 或 evince),显示的帧从来不是第 1 帧,而是其他帧。单击显示的帧后,动画(从第 1 帧开始)将按预期运行。
答案1
作为一种解决方法,你可以使用以下方法手动设置应显示为预览的图像
\movie[height = 0.6 \textwidth,width = 1.0\textwidth]{\includegraphics[width=\textwidth]{img1}}{anim.mov}
(替换img1
为第一张图片的名称)
缺点:从评论中得知克林顿·温特点击后到电影开始之间会出现短暂的黑屏
作为黑屏的替代,您可以使用media9
包 - 这将显示白屏:)
\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}
\usepackage{media9}
%\usepackage{graphicx}
\usetheme{Singapore} % name of theme substituted here
\newcommand{\degree}{\ensuremath{^\circ}}
\begin{document}
%% example frame with animation
\begin{frame}
\frametitle{Numbers}
%\movie[height = 0.6 \textwidth,width = 1.0\textwidth]{\includegraphics[width=\textwidth]{img0001}}{anim.mov}
\includemedia[
width=\linewidth,
totalheight=0.6 \textwidth,
% activate=pageopen,
passcontext, %show VPlayer's right-click menu
addresource=anim.mov,
flashvars={
%important: same path as in `addresource'
source=anim.mov
}
]{\includegraphics[width=\textwidth]{img0001}}{VPlayer.swf}
\end{frame}
\end{document}