创建 HTML/Flash 界面
在Adobe Flex Builder™ 2创建一个新的Flex 工程,然后创建一个Flash视频,这个视频通过给定的URL找到视频并播放。我们将这个Flex应用程序文件命名为simplemovie.mxml,代码如下:
simplemovie.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:VBox backgroundColor="white" width="400" height="335"> <mx:VideoDisplay width="400" height="300" id="videoPlayer" source="{Application.application.parameters.movie}" /> <mx:HBox width="100%" horizontalAlign="center"> <mx:Button label="Play" click="videoPlayer.play()" /> </mx:HBox> </mx:VBox> </mx:Application>
这个简单的Flex程序包括两部分:一个用来播放视频的VideoDisplay组件以及一个Play 按钮,当视频播放完毕时用户可以点击按钮重新播放。 VideoDisplay 组件有一个 source 属性,它包含了视频FLV文件的URL地址。在这里,它的值是一个程序变量,这个变量是HTML中的<object>或<embed>标签的FlashVars属性所提供的。
使用Flex Builder将simplemovie.mxml编译成simplemovie.swf文件然后将其从bin文件夹中移动到PHP文件目录中。下面我们将创建一个嵌入了这个视频的PHP页面,该页面代码如下:
simptest.php
<?php require "DB.php"; $moviebase = 'http://localhost:8080/movies/'; $dsn = 'mysql://root@localhost/movies'; $db =& DB::connect( $dsn ); if ( PEAR::isError( $db ) ) { die($db->getMessage()); } $source = null; $movieId = 1; if ( array_key_exists( 'movie', $_GET ) ) $movieId = $_GET['movie']; $movies = array(); $res = $db->query( 'SELECT movieId, source, title FROM movies' ); while( $row = $res->fetchrow( ) ) { $movies []= $row; if ( $row[0] == $movieId ) $source = $row[1]; } if ( $source == null ) $source = $movies[0][1]; ?> <html> <body> <table> <tr><td valign="top"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="335" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/ swflash.cab"> <param name="movie" value="simplemovie.swf" /> <param name="quality" value="high" /> <param name="flashVars" value="movie=<?php echo( $moviebase.$source ) ?>"> <embed src="simplemovie.swf" quality="high" width="400" height="335" play="true" loop="false" quality="high" flashVars="movie=<?php echo( $moviebase.$source ) ?>" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"> </embed> </object> </td><td valign="top"> <?php foreach( $movies as $movie ) { ?> <a href="simptest.php?movie=<?php echo( $movie[0] )?>"><?php echo( $movie[2] )?></a><br/> <?php } ?> </td></tr></table> </body> </html>
在上面的代码中,一开始是连接到数据库并获取视频列表。然后它就开始查找是否有与URL中ID匹配的视频ID,如果有匹配的视频ID,它就会将这个ID赋值给movie变量并通过flashVars参数传送到simplemovie.swf文件。
接下来,在HTML代码中创建了<object> 和 <embed>标签用来嵌入simplemovie.swf,标签中也提供了视频的正确URL地址。然后又创建了一个列表列出了所有可用的视频,这个列表中的每一项都提供了它们对应视频的正确ID并链接到了本页。
在浏览器中运行这个页面的结果如图2:
图2.简单的视频播放器和视频列表
当我打开页面的时候第一个视频开始播放。当我选择右边列表中的某个视频的时候,页面就会重新载入并播放选中的视频。
是不是很简单?一个Flex文件,一个PHP文件再加上后台的一点数据库操作,哇!一个视频分享网站出现了!
接下来我们将在Flex中做一些工作来增强用户体验。
出处:蓝色理想
责任编辑:moby
上一页 使用Flex和PHP创建自己的视频应用 [2] 下一页 使用Flex和PHP创建自己的视频应用 [4]
◎进入论坛RIA设计与应用版块参加讨论
|