在线播放视频和音频首先会想到的是采用html5中的video和audio标签,使用这两个标签可以很简单的完成我们的在线播放。
<video style="width:602px;height:365px" controls="controls">
<source src="video/test.mp4" type="video/mp4"/>
</video>
<audio controls="controls">
<source src="mp3/test.mp3" type="audio/mp3" />
</audio>
如果使用asp.net,采用后台的方式,比较麻烦,它的思路是:首先编写各种播放格式方法的程序代码,如WMV,AVI,MP3和WMA等格式,然后在程序中判断要播放的文件属于哪种格式,根据判断出文件格式调用相应的方法播放视频文件,最后通过一个标签控件显示播放。
private static string mp3(string url, int width, int height)
{
StringBuilder sb = new StringBuilder();
sb.Append("<object id=\"WMPlay\" classid=\"CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701\" type=\"application/x-oleobject\" width=\"" + width + "\" height=\"" + height + "\" hspace=\"0\" standby=\"Loading Microsoft Windows Media Player components...\" id=\"NSPlay\">");
sb.Append("<param name=\"AutoRewind\" value=\"0\">");
sb.Append("<param name=\"FileName\" value=\"" + url + "\">");//这里是MP3网址
sb.Append("<param name=\"ShowControls\" value=\"1\">");
sb.Append("<param name=\"ShowPositionControls\" value=\"0\">");
sb.Append("<param name=\"ShowAudioControls\" value=\"1\">");
sb.Append("<param name=\"ShowTracker\" value=\"0\">");
sb.Append("<param name=\"ShowDisplay\" value=\"0\">");
sb.Append("<param name=\"ShowStatusBar\" value=\"1\">");
sb.Append("<param name=\"ShowGotoBar\" value=\"0\">");
sb.Append("<param name=\"ShowCaptioning\" value=\"0\">");
sb.Append("<param name=\"AutoStart\" value=\"1\">");
sb.Append("<param name=\"Volume\" value=\"-2500\">");
sb.Append("<param name=\"AnimationAtStart\" value=\"0\">");
sb.Append("<param name=\"TransparentAtStart\" value=\"0\">");
sb.Append("<param name=\"AllowChangeDisplaySize\" value=\"0\">");
sb.Append("<param name=\"AllowScan\" value=\"0\">");
sb.Append("<param name=\"EnableContextMenu\" value=\"0\">");
sb.Append("<param name=\"ClickToPlay\" value=\"0\">");
sb.Append("</object>");
return sb.ToString();
}
object只支持ie浏览器,而且代码也比较长,所以我换了audio(好像会产生兼容性问题,ie显示不出来)
private static string mp3(string url, int width, int height)
{
StringBuilder sb = new StringBuilder();
sb.Append("<audio controls=\"controls\">");
sb.Append("<source src=\"" + url + "\" type=\"audio/mp3\"/></video>");
return sb.ToString();
}
private static string mp4(string url, int width, int height)
{
StringBuilder sb = new StringBuilder();
sb.Append("<video style=\"width:602px;height:365px\" controls=\"controls\">");
sb.Append("<source src=\""+url+"\" type=\"video/mp4\"/></video>");
return sb.ToString();
}
https://github.com/1126048156/video.git