答案1
版本[2015-05-11]
提供media9
SlideShow.swf
这是一个用于实时和静态远程(观看时下载)以及 PNG、JPEG 和 GIF 格式的静态嵌入图像文件的图片库应用程序。SlideShow.swf
通过XML 文件语法非常简单。
可以使用右键菜单或键盘与该应用程序进行交互。
下面的链接是嵌入在文档文件中的幻灯片放映示例media9
,在 Web 浏览器中打开。(第四幅图像在这里不起作用,因为它使用了相对于播放器 SWF 文件的 URL):
使用 OP 中给出的远程实时图像 URL 的单图像“幻灯片”的最小 beamer 类示例如下:
\documentclass{beamer}
\usepackage{media9}
\begin{document}
\begin{frame}{Live remote image}
\includemedia[
width=\linewidth,
height=0.46\linewidth,
activate=pageopen,
passcontext, %show context menu
addresource=show.xml,
flashvars={ xml=show.xml }
]{}{SlideShow.swf}
\end{frame}
\end{document}
文件show.xml
包含以下行:
<SlideShow>
<Img live="3">
<caption>Live remote image.</caption>
<URL>http://dev.eightbeers.org/tex/corner-icon.png</URL>
</Img>
</SlideShow>
远程图像将每三秒刷新一次。
答案2
这个问题有一个相当可靠的答案。对象重新加载时仍存在问题(Reader 获取内容时整个图形变黑);如果有人对此有建议,我很乐意听取。
梅威瑟:
\documentclass{beamer}
\usepackage{media9}
\begin{document}
\begin{frame}{Test auto-updated input}{}
\includemedia[
height=5cm,
label=sample,
width=11cm,
activate=pageopen,
flashvars={
src=http://dev.eightbeers.org/tex/corner-icon.png
&controlBarMode=none
},
]{}{StrobeMediaPlayback.swf}% I'll be honest, not too sure about indentation in the following
\pdfannot width 0pt height 0pt depth 0pt {
/Subtype/Widget
/AA <</PO << %start updating routine on 'pageopen' event
/S/JavaScript/JS (
try{var ret=app.setInterval('
annotRM["sample"].activated=false;
annotRM["sample"].activated=true;
' , 2500);}catch(e){}
)
>>>>
}
\end{frame}
\end{document}
如果您在加载自己的动态图像时遇到问题:
StrobeMediaPlayback.swf
仅当识别文件后缀时才会加载图像;因此,如果您在 PHP 中构建动态图像,则需要使用一些.htaccess
-fu 来从.jpg
或.png
或类似的文件重定向- 虽然大多数浏览器在发送没有标题的图像时都能很好地播放
Content-Length:
,StrobeMediaPlayback.swf
但会失败并出现神秘的Argument Error - Invalid parameter passed to method