本实例将详细介绍在线音乐网站的实现过程。
效果说明
图 94-1 所示是在线音乐网站的首页页面,用户勾选要播放的歌曲后单击【提交】按钮,将会弹出如图 94-2 所示的播放页面。
创作构思
通过数据网络提交复选框的选择值,以此建立一个查询数据集,并通过该数据集生成播放列表“ asx ”文件,以实现在线音乐网站。
操作步骤
步骤一 应用程序的环境设置
( 1 )复制光盘中实例 94 的内容。将“光盘 \ 源文件 \ 实例 94 ” 目录下的所有文件复制到“ C:\ Inetpub\wwwroot\ ”目录下。在 IIS 服务器中设置默认网站的主目录为“ C:\ Inetpub\wwwroot\music ”(请参考实例 1 中的相关方法)。在 Dreamweaver 中新建站点“ music ”,其站点目录为“ C:\ Inetpub\wwwroot\music ”(建立站点的方法请参照实例 2 )。
( 2 )“ music ”表的数据结构。运行 Access ,打开“ C:\ Inetpub \wwwroot\music\data\data.mdb ”,可以看到数据库“ \data.mdb ”中只有“ music ”一个数据表,该表的数据结构如图 94-3 所示。
( 3 )建立数据库链接“ musicconn ”,链接数据库“ C:\ Inetpub\wwwroot \music\data\data.mdb ”,方法请参考实例 75 。
步骤二 音乐网站首页的实现
( 1 )打开“ music ”站点下的“ index.apsx ”,这时“ index.apsx ”页面及站点文件如图 94-4 所示。
( 2 )添加数据集“ musicData ”。在【服务器行为】面板中添加数据集“ musicData ”,具体设置如图 94-5 所示。
( 3 )添加“ musicGrid ”数据网络。在【服务器行为】面板中添加“数据网络”,在【数据网络】对话框中设置 ID 为“ musicGrid ”,数据集为“ musicData ”,导航为“编号链接到每一页”,其他设置如图 94-6 所示。
( 4 ) 添加“ playcheck ”复选框。切换到表单快捷菜单,在页面空白处添加表单复选框,设置其名称为“ playcheck ”。切换到代码视图,用数据集“ musicData ”下的字段“ id ”替换“ playcheck ”复选框源代码中的“ value ”值,如图 94-7 所示。
( 5 )选择“ playcheck ”复选框的源代码,将其剪切。在服务器行为面板中再次打开数据网络“ musicGrid ”,参照如图 83-5 所示的方法,编辑“ id ”标题为“编号”、“ name ”标题为“歌曲名称”、“ who ”为“歌唱者”、“ date ”为“发表时间”。选择“ url ”,单击【—】按钮,将“ url ”从列中删除,结果如图 94-8 所示。
( 6 )设置【自由格式列】。单击【 + 】按钮,在弹出的快捷菜单中选择【自由格式】菜单项。然后在弹出的【自由格式列】对话框中设置标题为“播放”,并将之前剪切的复选框源代码粘贴到【内容】文本区域中,具体操作可参考图 83-6 。
( 7 )添加【表单】按钮。在【数据网络】对话框中单击【确定】按钮,返回到页面。为页面添加一个【表单】按钮,保持其默认设置。
( 8 )定义“ Page_Load ”过程,该过程的代码如下所述。
Sub Page_Load(Sender As Object,e As EventArgs)
If Trim(Request.Form("playcheck"))<>nothing then
session("playch")=Trim(Request.Form("playcheck"))
Dim scriptString As String = "
(读者可打开【光盘】|【源文件】|【实例 94 】|【 94.2.txt 】文件,直接复制)
程序说明:
该代码其实是定义一个“ Page_Load ”的过程,在这个过程中重新定义了数据集“ musicData ”的查询命名,查询歌曲序号( id )在“ Session(“playch”) ”中的所有记录。这与前面讲过的“ Session(“playch”) ”存储形式是相对应的。
( 5 )添加“ AtiveX ”组件。切换至设计视图,执行【插入】|【媒体】|【 AtiveX 】菜单命令,为页面添加“ AtiveX ”组件。由于本实例是在线音乐,为此编辑该“ AtiveX ”为“ Media Player ”播放组件,如图 94-11 所示。
提示:图 94-11 中所示的步骤②输入“ Media Player ”的注册类 ID 为“ CLSID:6BF 52A 52- 394A -11d3-B153 -00C 04F 79FAA 6 ” ;步骤③选择的类型为“ application/x-oleobject ”;步骤⑥添加的 3 个参数分别为参数“ URL ”,其相应值为“ music.asx ”,参数“ autoStar ”,其值为“ true ”,参数“ playCount ”,其相应值为“ 0 ”。参数“ URL ”用于设置播放音乐的地址,这里指的是播放列表“ music.asx ”的值。参数“ autoStar ”用于设置是否自动播放。参数“ playCount ”用于设置循环播放的次数,当该值为“ 0 ”时,表示无限循环播放。
( 6 )播放列表“ asx ”文件。在开始动态生成播放列表“ music.asx ”之前,先介绍“ Media Player ”的播放列表“ asx ”文件。图 94-12 所示是一个播放列表“ asx ”文件。第 1 行是版本号,
( 7 )在“ Page_Load ”过程中添加如下所述的代码。
Dim xlmstring As String
Dim i As Integer
xlmstring = "xlmstring+=">xlmstring+=">"
For i = 0 To musicData. RecordCount - 1
xlmstring += "
xlmstring +="xlmstring+=musicData.FieldValueAtIndex(i, "url", Nothing)
xlmstring+="""/>"
xlmstring +="
Next
xlmstring += ""
Dim file_path As String
file_path = Server.MapPath("music.asx")
Dim fs As StreamWriter = New StreamWriter(file_path, False)
fs.WriteLine(xlmstring)
fs.Close()
(读者可打开【光盘】|【源文件】|【实例 94 】|【 94.3.txt 】文件,直接复制)
程序说明:
首先定义字符串变量“ xlmstring ”,并添加字符串“ ”。根据数据集“ musicData ”记录大小循环,把“
提示:在“ asx ”文件中各参数属性值不支持单引号,如果将版本号设置为“ ”,则“ Media Player ”将不能正确播放该“ asx ”文件,其正确设置应为“ ”。所以程序中出现一些重复的双引号,如“ xlmstring+="""3.0""" ”,就是为了在“ asx ”文件中正确设置各参数的属性值。
( 8 )保存该 ASP.NET 动态网页为“ play.aspx ”。
音乐娱乐网站的实现,其实主要解决多媒体播放控件的设置、音乐播放列表的动态生成。在实际应用中,应将音乐的播放次数与站点的收益联系起来,而且要解决如何防止多媒体被盗链、下载等问题。读者们应在本实例介绍的基础上,从这几个方面作更为深入的研究。至此,本实例介绍完毕。
更多实例请阅读《Dreamweaver网页设计与制作实例精选》。