Asp.net中没有直接提供视频或音频播放Web 服服务器控件
先找到播放视频的插件:如Windows Media Player的播放插件为:
<object id="MediaPlayer1" name="MediaPlayer1"
classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" style=" 700px; height: 500px" >
<param name="URL" value="Video/冰雨.mp3" />
<param name="rate" value="1" />
<param name="balance" value="0"/>
<param name="currentPosition" value="0"/>
<param name="defaultFrame" value=""/>
<param name="playCount" value="1"/>
<param name="autoStart" value="-1"/>
<param name="currentMarker" value="0"/>
<param name="invokeURLs" value="-1"/>
<param name="baseURL" value=""/>
<param name="volume" value="50"/>
<param name="mute" value="0"/>
<param name="uiMode" value="full"/>
<param name="stretchToFit" value="0"/>
<param name="windowlessVideo" value="0"/>
<param name="enabled" value="-1"/>
<param name="enableContextMenu" value="-1"/>
<param name="fullScreen" value="0"/>
<param name="SAMIStyle" value=""/>
<param name="SAMILang" value=""/>
<param name="SAMIFilename" value=""/>
<param name="captioningID" value=""/>
<param name="enableErrorDialogs" value="0"/>
<param name="_cx" value="10583"/>
<param name="_cy" value="7197"/>
</object>
视频播放插件是ocx控件,它不能转换为服务器端控件,所以只能调用客户端的脚本语言JavaScript来播放文件。
如播放文件为:
form1.MediaPlayer1.controls.play();
暂停播放为:
form1.MediaPlayer1.controls.pause();
停止播放为:
form1.MediaPlayer1.controls.stop();
比较麻烦得一个问题:是如何选择不同的文件播放。如果从客户端来解决这个问题,可能比较麻烦,因为客户端JavaScript要获得某一个文件中的视频文件比较麻烦。下面是JavaScript的给播放器插件指定一个固定的文件。
form1.MediaPlayer1.URL="Video/冰雨.mp3“
从服务器端来解决,由于不能直接访问播放器插件(因为播放器插件不能转换为服务器端控件)!一时陷入了困境,怎么办呢?
我们又回过头来看看播放器插件,不经意间看到有这一行:
<param name="URL" value="Video/冰雨.mp3" />
这一行不就是给播放器指定文件吗?能不能想
办法用一个服务器端控件来代替这一行呢?我们试一试,其实我们在前面也这么用过,如我想在网页上面输出一根水平线,我们可以先在网页上面放一个服务器端Label控件:
<asp:Label ID="Label1" runat="server" />
然后给Label1.Text赋值为:”<hr />”
然后网页上就是一条水平线呀!
于是我想到了要运用类比法,把
<param name="URL" value="Video/冰雨.mp3" />
替换为
<asp:Label ID="Label1" runat="server" />
然后在服务器后端代码中为Label1.Text赋值为:
"<param name=""URL"" value=""Video/" & ListBox1.SelectedItem.Text & """ />“
相类似的代码。
然后可以去试一试!具体的代码可以参看PlayVideo.aspx。
2) 在Windows2000下面播放(参考PlayVideo2000.aspx):与WindowsXP类似。
a) 插件要改成:<object align="center" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="object"
id="MediaPlayer1" name="MediaPlayer1" style=" 700px; height: 500px">
<param name="showstatusbar" value="0" />
<param name="filename" value="video/lxf.rm"/>
<embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/con ... n/nsmp2inf.cab#version=5,1,52,701">
</embed> </object>
播放文件为:
form1.MediaPlayer1.play();
暂停播放为:
form1.MediaPlayer1.pause();
停止播放为:
form1.MediaPlayer1.stop();
c) 还有就是播放的文件名是filename了!其他的请参考课件。
Window Media Player插件还可以做网络收音机。
只要把插件的URL或filename指定为网络流媒体的网址就可以了。
常用的流媒体网络地址(以湖南省为例):
1) 湖南文广快乐975 :mms://202.103.67.185/文艺
2)湖南音乐之声超级893:mms://202.103.67.185/音乐
3)湖南交通广播 :mms://202.103.67.185/交通
4)湖南电台经济频道 :mms://202.103.67.185/经济
5)湖南金鹰955电台 :mms://real.rednet.cn/955
6) CITYFM城市之音 长沙 :mms://real.rednet.cn/1017
对于其他的播放器,可以自己去网上找相应的播放插件,然后进行类似的设计