|
interMedia
Dynamic SMIL Example
This example synchronizes the presentation of image, text, and
streaming audio stored in Oracle8i to sell music CDROMs.
- The demo plays
sample audio clips of all songs on a particular CD in sequence.
- An image fades
in as a song clip begins and fades out as it ends.
- The title of the
song clip appears while the audio clip plays.
Synchronization and
streaming media playback is accomplished using the interMedia
RealServer plugin and these RealNetworks technologies:
- rich media formats
(RealPix, RealText, and RealAudio) stored in Oracle8i with interMedia;
- RealServer (streams
media from Oracle8i through interMedia while optimizing
for variable bandwidth conditions);
- and a
Synchronized Multimedia Integration Language (SMIL) presentation.
To simplify the example,
a static HTML page is used, but the HTML page could be generated dynamically
from Oracle8i as well.
Table of Contents:
Download
the demo
A. About This Example
The SMIL presentation
is dynamically generated using data from Oracle8i. Audio duration,
an attribute of the RealAudio clip, is stored in Oracle8i and used
to determine when to fade in/out a new image. To simplify this example,
the audio duration is specified manually in the PL/SQL load procedure
(load_schema.sql), using the setAudioDuration method. However, interMedia
can also be used to automatically extract RealMedia attributes like audio
duration and store them in Oracle8i.
- interMedia 8.1.6
setProperties() method can be called to automatically extract duration
from RealAudio as, or after, the audio data is stored in Oracle8i.
- interMedia Annotator
utility for Mac and NT clients can extract media attributes and media
samples and load them with media data in Oracle8i.
Managing media data
and attributes in Oracle8i makes a Web site more manageable and
places rich media data under transaction control. As CD tracks are added
to Oracle8i, they can automatically appear in the SMIL presentation
for the CD if the HTML page is dynamically generated. The SMIL presentation
can be expanded to include other CDs by dynamically generating the HTML
page, with CD content, based on a CD identifier specified by the user.
See Use
Java Servlets & JSPs to load/retrieve rich content and Use
interMedia with PL/SQL Gateway and Web Toolkit to load and retrieve
rich content for more complete examples of dynamically generated pages.
More information on
SMIL is available at
http://www.realnetworks.com/devzone/library/index.html.
B. System Requirements
C. Installation Steps
- Specify a proper
directory path for MEDIADIR in the file create_cdload_procs.sql.
- In the file
create_cdload_procs.sql, change the directory path 'c:\Www\SmilExample\'
to the directory where you put this demo. e.g. create or
replace directory MEDIADIR as 'd:\Test\SmilExample\';
- Run the SQL script
do_all.sql.
- Install RealServer
Basic or better and the Oracle RealServer FileSystem Plugin.
- Configure RealServer
to use the database by adding the mountpoint to the fsmount list in
rmserver.cfg.
- Edit the file
real_mountpoint.cfg file in this demo package to make the SQLnet
parameters access your database. Change the host name (a-pc.us.oracle.com)
and SID (ORCL) to your own.
- Copy the content
of rel_mountpoint.cfg into the fsmount list in rmserver.cfg, which
is typically located in C:\Program Files\Real\RealServer.
- Start RealServer.
- Go to Start
Menu --> Settings --> Control Panel --> Services.
- Start RMServer.
- Edit Blue.htm and
change the references a-pc.us.oracle.com to your RealServer node.
- Open the HTML file
Blue.htm in your web browser.
- RealPlayer
will need to be installed.
D.
User Guide
After opening
the HTML file Blue.htm in your web browser, simply click the play button
in the Real Player control panel.
Notice that the album cover picture fades in and out at the beginning
of a new clip and the end of the current clip, and that the title of the
current song is also displayed during the time the audio of the song is
playing.
Each individual
audio can also be streamed from the database by clicking on the song
hyperlink.
|