Introduction to Synchronized Multimedia Integration Language (SMIL)?
SMIL known as Synchronized Multimedia Integration Language is used for time based delivery of multimedia content over web. It is possible to mix different multimedia elements such as text, video, graphics, audio, and vector based animation and synchronizes them to a timeline for delivery. SMIL is a World Wide Web Consortium recommendation.
Using SMIL a user can describe the behavior of the presentation, describe the layout of the presentation and associate the media objects in the presentation with hyperlinks. Basically SMIL is a XML document with the root element being the <smil> element. The <smil> element can have child elements like <head> and <body>. The code given below is a sample SMIL document which is used to display an image in a layout specified.
The above code gives you an idea of the structure of the SMIL document. You can use the <switch> element within the <head> element to specify a layout for the presentation. The switch element is used to select one of the alternative layouts given. In the above code both the alternative point to the same region. The purpose of the switch element is to select an alternative child element. The start point of the region where the image is to be displayed is given in the <region> tag with the help of the attributes like top and left. These attributes give the x and the y coordinates in pixels. The region in which the image is displayed is identified by and id attribute. The <body> tag encloses the actual media content that is to be displayed. The <body> can have child elements like <a>, <animation>, <audio>, <img>, <par>, <ref>, <seq>, <switch>, <text>, <textstream>, and <video>.
The <par> element is one of the synchronization elements that can synchronize different media content over a timeline. The children of the par element can overlap in the timeline. Consider the code snippet given below for the par element.
The above code of the par element synchronizes an audio and image together. If you look at the audio tag you see that the begin attribute has a value of 6s, which means that the audio will start after a delay of 6 seconds. The img tag has a delay of id(a)(4s), which clearly indicates that the image has to be displayed after 4 seconds from the start of the audio. This attribute clearly indicates a cumulative delay of 10 seconds altogether. The elements of the <par> tag can be in any order and the order of the elements will not affect the timeline and the way the media content are displayed. Suppose instead of a <par> element you have a <seq> element as given below:
In the above code you can see that the media content are enclosed in a <seq> element which clearly states that the audio will be first played and then the image will be displayed after a delay of 4 seconds, in that order.
Synchronization of the continuous media elements within the <par> element is implementation independent. The different media of the par element can be either synchronized to a common clock or the individual child element may have its own clock. It is implementation independent. If the elements are bound to a common clock then it is called Hard Synchronization and if the elements have their own clocks then it is called Soft Synchronization. The par element can have child elements like <a>, <animation>, <audio>, <img>, <par>, <ref>, <seq>, <switch>, <text>, <textstream>, and <video>. These child elements can appear multiple times within the par element.
Thus with the help of SMIL you can integrate different media contents in a presentation and control the appearance of each of the media content in a timeline. For more details on the specification recommended by the W3C you can visit the link http://www.w3.org/TR/REC-smil/.
Copyright - © 2004 - 2018 - All Rights Reserved.