我在一个网页中嵌入了两个quicktime电影文件。我设置了autoplay =“false”以防止它们同时播放,但它们仍然同时加载。在用户点击播放按钮之前,我可以阻止它们加载吗?
autohref =“false”应该这样做,但它似乎不起作用。
答案 0 :(得分:1)
[开始编辑 - 2010/03/30]
我认为,这里的问题是没有控制来修改缓冲行为。 AutoHREF
参数是指预加载href
参数的值(或者可能是视频本身嵌入的HREF?),而不是缓冲视频。
我目前正在某些网页上修改this technique,使用Modernizr修改Javascript,以根据浏览器支持动态插入不同的视频嵌入。
我使用VLC将我的视频转码为ogg / theora / vorbis(在Mac上;它与* nix非常相似),视频比特率为1024kbps,音频比特率为128kbps:
/Applications/VLC.app/Contents/MacOS/VLC \
--rc-fake-tty -I dummy \
${original_video} \
':sout=#transcode{vcodec=theora,vb=1024,acodec=vorbis,ab=128,audio-sync}:standard{mux=ogg,dst=${ogg_file},access=file}' vlc://quit
转码为MP4 / H.264 / AAC(相同比特率)(假设VLC支持M4A / AAC音频):
/Applications/VLC.app/Contents/MacOS/VLC \
--rc-fake-tty -I dummy \
${original_video} \
':sout=#transcode{vcodec=mp4v,vb=1024,acodec=mp4a,ab=128}:standard{mux=mp4,dst=${m4v_file},access=file}:sout-transcode-soverlay=0' vlc://quit
(使用原始的高质量视频会是最好的,但这适用于VLC可以解码的任何格式。)
只是为了咯咯笑,我还使用了HTML5音频元素(如果有的话),这里是我如何将mp3转换为ogg / vorbis(使用lame和vorbis-tools),速度为128kbps(VBR)和高质量:
lame --decode ${mp3_file} - \
| oggenc -r -b 128 -q 9 -o ${ogg_file} -
lame --decode ${mp3_file} - \
| faac -w -s -o ${m4a_file} -
(当然使用原始的原始PCM / WAV会更好。)
(IANAL,但:)重要的是要注意H.264和AAC都属于专利(并且授权过高)。有人担心Theora可能会受到所谓的潜艇专利的影响,但它和Vorbis目前似乎没有受到任何阻碍。
[结束编辑]
你找到了答案吗?我看到了同样的行为。 (我一直假设参数/属性名称不区分大小写,因为即使Apple文档也不一致地使用各种案例方案。)
如果有任何混淆,我认为原始提问者(和我)想要的是在用户点击“播放”按钮之前根本不能下载Quicktime电影。我在同一页面上有几个视频,用户不太可能全部观看;在明确要求之前,我不希望他们下载。当设置为“false”时,“autohref”参数应该确保这种行为,但至少在Mac OS 10.6.2上使用Quicktime插件7.6.3的Firefox 3.6中,它似乎不起作用。
<object
classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
codebase="http://www.apple.com/qtactivex/qtplugin.cab"
width="332"
height="184"
id="video-0"
>
<param name="src" value="video/sony-ps3.mov" />
<param name="AllowEmbedTagOverrides" value="True" />
<param name="AutoPlay" value="False" />
<param name="AllowEmbedTagOverrides" value="True" />
<param name="AutoPlay" value="False" />
<param name="AutoHREF" value="False" />
<param name="EnableHREF" value="False" />
<param name="EnableJavascript" value="True" />
<param name="ShowLogo" value="False" />
<param name="Volume" value="60" />
<param name="wmode" value="transparent" />
<embed
width="332"
height="184"
src="video/sony-ps3.mov"
type="video/quicktime"
pluginspage="www.apple.com/quicktime/download"
name="video-0"
AllowEmbedTagOverrides="True"
AutoPlay="False"
AutoHREF="False"
EnableHREF="False"
EnableJavaScript="True"
ShowLogo="False"
Volume="60"
wmode="transparent"
></embed>
</object>
答案 1 :(得分:1)
我还没有尝试过这个但也许它会起作用它是列出的第一件事autohref="false"
我正在尝试为音频执行此操作(在点击播放按钮之前没有加载)但我没有href
值我只有src值
ps - 我刚刚在您的原始帖子中注意到您说autohref="false"
应该这样做但不起作用
我想我只是补充说我只有一个src值而且没有href值我试图找到相同的答案但是有音频
答案 2 :(得分:0)
这取决于你如何嵌入QuickTime电影。但它应该尊重自动播放标志。只需将其放入标签即可,但我认为这不是正确的方法。你有没有像下面的代码那样做?
<object width="160" height="144"
classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
codebase="http://www.apple.com/qtactivex/qtplugin.cab">
<param name="src" value="sample.mov">
<param name="autoplay" value="false">
<param name="controller" value="false">
<embed src="sample.mov" width="160" height="144"
autoplay="false" controller="false"
pluginspage="http://www.apple.com/quicktime/download/">
</embed>
</object>
<强>更新强>
或者你的意思是电影不能在页面加载时播放,但是当用户与其中一个电影交互时它们都开始播放?如果是后者,最好设置一个用户可以单击的占位符图像,然后加载适当的内容,而不是同时加载两个applet。像这样做会花费更少的资源,因为最终用户机器只需在用户激活特定电影后加载QuickTime插件。