流媒体网欢迎您!
全世界的网络联合起来,流媒体世界一定能实现!
 
   
IPTV | P2P流媒体 | 移动流媒体 | 数字家庭 | 流媒体宽频 | 网络流媒体 | 安防监控 | 视频会议 | VIP会员 | 新闻专题
 
 
 
您现在的位置: 流媒体网 >> 技术平台 >> 视频编辑 >> 技术正文
 
SMIL教程-6
作者:slone  来源:本站原创  发布时间:2004-11-2 21:31:00

4、链接制作

传统的流媒体的最大的一个弊端是没有交互性(Interaction)。现在如日中天的flash本质上就是一种可交互性的流!由此可见可交互性的流的市场潜力。而SMIL是解决大部分流媒体交互性的最好的工具!这部分要求大家必须掌握,如果没有的话,那么我们学习SMIL就失去了意义。因为这里是SMIL的主要特色(与其他的视频编辑软件相比较),就好像指针是C语言的特色一样。

(1)< a>< /a>标记

运行下面这个程序:

< smil>

< head>

< layout>

< root-layout width="300" height="300"/>

< region id="videoregion" top="0" left="0" width="300" height="300"/>

< layout>

< /head>

< body>

< a href="1.rm">

< video src="videotest.rm" region="videoregion"/>

< /a>

< /body>

< /smil>

正常情况下,我们看到播放器播放videotest.rm,如果我们把鼠标放到正在播放的videotest.rm上面,鼠标将有指针形状变为小手形状。单击鼠标左键,播放器播放将停止播放videotest.rm而播放1.rm这个文件。这里我们就成功的创建了一个很简单的链接。<a></a>属性就是用于链接标记,href表示的是所要链接的文件。这种方法非常简单,我们就不做过多的介绍。

如果我们要创建更加复杂的链接,我们就要用到下面的这个属性。

(2)< anchor>属性

将上例中的< body>< /body>换成下面这段代码,看看效果是不是有区别?

< body>

< video src="videotest.rm" region="videoregion">

< anchor href="1.rm"/>

< /video>

< /body>

我们看到的效果是完全一样的!那么<anchor>属性不就多余了吗? 那是不会的!JJ请看:

a、 分时断链接

考虑这样一个问题:我们要在0~10秒链到一个文件,10~20秒链到另一个文件,该怎么办?看我们的:

< body>

< video src="1.avi" region="videoregion">

< anchor href="1.jpg" begin="0s" end="10s" >

< anchor href="videotest.rm" begin="10s" end="20s" />

< /video>

大家将看到的效果:播放器播放1.avi,在0~10秒链到1.jpg,在10~20秒链到videotest.rm。警告:dur、clip-begin和clip-end这里不支持!

B、链接部分SMIL

我们的链接可以链接的文件很多,几乎所用的多媒体片断都可以。*.smil和*.html也可以。但是,下面我们要讨论的是如何链接部分SMIL。请看例子。

第一个SMIL文件,取名test11.smil

< smil>

< head>

< layout>

< root-layout width="400" height="300"/>

< region id="videoregion" top="0" left="0" width="400" height="300" fit="meet"/>

< /layout>

< /head>

< body>

< video src="1.avi" region="videoregion">

< anchor href="test11app.smil#testlink"/>

< /video>

< /body>

< /smil>

第一个SMIL文件,取名test11app.smil

< smil>

< head>

< layout>

< root-layout width="400" height="300"/>

< region id="videoregion" top="0" left="0" width="400" height="300" fit="meet"/>

< /layout>

< /head>

< body>

< video id="testlink" src="1.avi" clip-begin="150" region="videoregion"/>

< /body>

< /smil>

大家一定看出来了!我就是在test11app.smil中为我们要链接的那部分内容设上id,然后在test11.smil中的链接中用“#”来指向该标记id。应用的很多的时候是组内内容。我们把test11app.smil修改为:

< body>

< par id="testlink">

< video src="1.avi" clip-begin="150" region="videoregion"/>

< /par>

< /body>

到这里,链接可以说已经很完美了。但是,如果要锦上添花,那么下面这个属性是必不可少的。

(3)coords属性

将上面的<anchor href="1.rm"/>代码修改为:

< anchor href="1.rm" coords="0, 0,150,300"/>

或者:

< anchor href="1.rm" coords="0%, 0%,50%,100%"/>

运行,看看效果。JJ我们看到左半部分有链接效果,而右半部分却没有!这是我们采用了坐标规定链接区的缘故。coords属性值的第一、二个数分别表示的是链接区的左上角点的水平(left)和垂直(top)坐标;第三、四个数分别表示的是链接区的右下角点的水平(left)和垂直(top)坐标。上面用的是像素点的绝对定义方法,下面用的是比例的相对定义方法。喜欢哪一个就看你的喜好了。

(5)链接注意

我们的演示最后基本上都要放到服务器上。因此,文件的位置的规定就非常重要,如果文件位置出错,那么播放器将找不到文件而不能播放。这是我们最不希望看到的!下面我们就来讨论这个问题。

A、创建基地址

看下面的代码:

< head>

< meta name="base" content="rtsp://abc.5dmedia.com/"/>

< /head>

上面就是在< head>< /head>中用附加信息的方式规定了整个smil文件的基地址为rtsp://abc.5dmedia.com/。规定了基地址以后,我们在用该地址下的文件的时候,就只需要给出路径就可以了。例如:

< body>

< video src="video/first.rm"/>

< video src=" video /second.rm"/>

< audio src="rtsp:// abc.mysite.com:554/audio/test.mp3"/>

< img src="http// 收藏此页到365Key   

  • 上一篇技术:
  • 下一篇技术:
  •  
    相关新闻
    SMIL教程-后记
    SMIL教程-9
    SMIL教程-8
    SMIL教程-7
    SMIL教程-5