如何在自动加载的网页中停止Quicktime电影?

时间:2010-03-02 18:06:51

标签: html embed quicktime

我在一个网页中嵌入了两个quicktime电影文件。我设置了autoplay =“false”以防止它们同时播放,但它们仍然同时加载。在用户点击播放按钮之前,我可以阻止它们加载吗?

autohref =“false”应该这样做,但它似乎不起作用。

Apple's documentation for the EMBED element

3 个答案:

答案 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(使用lamevorbis-tools),速度为128kbps(VBR)和高质量:

lame --decode ${mp3_file} - \
  | oggenc -r -b 128 -q 9 -o ${ogg_file} -

和mp3到m4a / AAC(使用lamefaac):

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"

http://web.mac.com/studybuddys/iWeb/studybuddys/12%20Multimedia_files/06%20Apple%20QT%20Embed%20Tag%20Attributes.pdf

我正在尝试为音频执行此操作(在点击播放按钮之前没有加载)但我没有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插件。