Asp.Net音频文件上传和播放

来源:互联网 发布:单片机setb 编辑:程序博客网 时间:2024/05/18 02:02

一、音频文件上传和播放

>>上传

protected void Button1_Click(object sender, EventArgs e)
    {

         foreach (UploadedFile file in RadUploadContext.Current.UploadedFiles)
            {
                if (file.FileName != null && file.FileName != "")
                {
                    string strTime = memberid.ToString() + "-" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Millisecond.ToString();
                    string namefile = file.FileName;//获取文件原来的名字
                    string namelast = namefile.Substring(namefile.LastIndexOf("."));//获取文件的后缀名,LastIndexOf()-返回括号内字符的所在位置
                    string FilePath = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveFilePath/MBmusic/";//文件上传的路径
                    System.IO.FileInfo fi = new System.IO.FileInfo(file.FileName);
                    if (fi.Extension.ToLower() == ".mp3" || fi.Extension.ToLower() == ".wma" || fi.Extension.ToLower() == ".rm" || fi.Extension.ToLower() == ".wav")
                    {
                        string name = strTime + namelast;//文件最后保存的名字
                        mv = "http://www.cnblogs.com/SaveFilePath/MBmusic/" + name;
                        Filesizes = int.Parse(file.ContentLength.ToString());
                        string path = FilePath + name;
                        if (File.Exists(path) == false)
                        {
                            file.SaveAs(FilePath + name);
                            mf.MF_Path = mv;
                            //mf.MF_Path = mv;
                        }
                        else if (File.Exists(path) == true)
                        {
                            name = strTime + "(" + tt + ")" + namelast;
                            file.SaveAs(FilePath + name);
                            mv = "http://www.cnblogs.com/SaveFilePath/MBmusic/" + name;
                            mf.MF_Path = mv;
                            //mf.MF_Path = mv;
                        }
                        if (RemainByteSize >= Filesizes)
                        {
                            try
                            {

                                //将数据插入数据库
                                
if (addnum > 0 && udpsize > 0)
                                {
                                    //Response.Write("<script>alert('上传成功!!')</script>");
                                    //Bind();
                                }
                                else
                                {
                                    Response.Write("<script>alert('上传失败!!')</script>");
                                    return;
                                }
                                num++;
                            }
                            catch { }
                        }
                        else
                        {
                            Response.Write("<script>alert('空间不足,请申请空间!!')</script>");
                            return;
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('上传文件格式错误! 文件格式为mp3,wma,wav.rm的视频!')</script>");
                        return;
                    }
                }
                else
                {
                    Response.Write("<script>alert('请选择上传的文件')</script>");
                    return;
                }
            }
   
}

>>播放

 1、在播放页面添加控件Literal1 控件

 2、在页面后台添加调用音频播放器代码

       public static string GetFlashText(string url)
    {
        string str = @"<object id='MediaPlayer' classid='clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6' height='62' width='406'>
   <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='2' />
   <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='0' />
   <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='10742' />
   <param name='_cy' value='1799' />
            <param name='URL' value='"+url+"'/></object>";
        return str;
    }

3、调用GetFlashText()方法

public void BindMusic()
    {

if (mfid != 0)
        {
            DataSet dst = mf.Search(mfid);
            if (dst != null && dst.Tables[0].Rows.Count > 0)
            {
                string url = dst.Tables[0].Rows[0]["MF_Path"].ToString();

            string[] strs = url.Split(new char[] { '/' });
            string mvname = strs[strs.Length - 1];
            string url1 = "SaveFilePath/MBmv/" + mvname;
                Literal1.Text = GetFlashText(url);//Literal1调用方法播放音频
             Label1.Text = dst.Tables[0].Rows[0]["MF_FileName"].ToString();
                //txt_FileName.Text = dst.Tables[0].Rows[0]["MF_FileName"].ToString();
                //txt_introduction.Text = dst.Tables[0].Rows[0]["MF_Introduction"].ToString();
            }
        }
    }

 
 
 
 
<object id="player" height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<param NAME="AutoStart" VALUE="-1">
<!--是否自动播放-->
<param NAME="Balance" VALUE="0">
<!--调整左右声道平衡,同上面旧播放器代码-->
<param name="enabled" value="-1">
<!--播放器是否可人为控制-->
<param NAME="EnableContextMenu" VALUE="-1">
<!--是否启用上下文菜单-->
<param NAME="url" value="/blog/1.wma">
<!--播放的文件地址-->
<param NAME="PlayCount" VALUE="1">
<!--播放次数控制,为整数-->
<param name="rate" value="1">
<!--播放速率控制,1为正常,允许小数,1.0-2.0-->
<param name="currentPosition" value="0">
<!--控件设置:当前位置-->
<param name="currentMarker" value="0">
<!--控件设置:当前标记-->
<param name="defaultFrame" value="">
<!--显示默认框架-->
<param name="invokeURLs" value="0">
<!--脚本命令设置:是否调用URL-->
<param name="baseURL" value="">
<!--脚本命令设置:被调用的URL-->
<param name="stretchToFit" value="0">
<!--是否按比例伸展-->
<param name="volume" value="50">
<!--默认声音大小0%-100%,50则为50%-->
<param name="mute" value="0">
<!--是否静音-->
<param name="uiMode" value="mini">
<!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示-->
<param name="windowlessVideo" value="0">
<!--如果是0可以允许全屏,否则只能在窗口中查看-->
<param name="fullScreen" value="0">
<!--开始播放是否自动全屏-->
<param name="enableErrorDialogs" value="-1">
<!--是否启用错误提示报告-->
<param name="SAMIStyle" value>
<!--SAMI样式-->
<param name="SAMILang" value>
<!--SAMI语言-->
<param name="SAMIFilename" value>
<!--字幕ID-->
</object>

Real Player 网页播放器 参数含义

参数:autostart 属性:True或是False 作用:指定是否自动播放指定的源文件
参数:backgroundcolor 属性:任何用符号“#”开头的16进制数值或是任何预定义的颜色作用:指定图像窗口的背景颜色
参数:center 属性:True或是False 作用:指定片断使用初始编码大小播放,并且在图像窗口的中央。
参数:classid 属性:"clsid:CFCDAA03-8BE4-1lcf-B84B0020AFBBCCFA:** 作用:用于指定ActiveX控件的唯一的字符串标示,可以认出嵌入的RealPalyer播放器。
参数:console 属性:任何字符串作用:可以将各种不同的RealPlayer控制聚集在网页上,这样它们可以交互使用或是保持独立,而且互相不影响
参数:controls 属性:ImageWindow,All,ControlPanel,PlavButton,PlayOnlyButton, PauseButton,StopButton,FFCtrl,RWCtrl,MuteCtrl,MuteVolume,VolumeSlider,PositionSlider,TACCtrl,HomeCtrl,InfoVolumePanel,InfoPanel,StatusBar,StatusField,PositionField 作用:可以让你指定那些控制是可见的。
参数:height 属性:任何整数值作用:指定RealPlayer元素的高度,单位:像素
参数:id 属性:任何字符串作用:为标签中的RealPlayer元素指定名字。
参数:imagestatus 属性:True或是False 作用:指定是否在图像窗口中显示状态信息,默认值是true
参数:loop 属性:True或是False 作用:可以让你指定片断是否无限循环
参数:maintainaspect 属性:True或是False 作用:默认RealPlayer拉伸所有的片断来充满整个图像窗口。
参数:name 属性:任何字符串作用:为标签中的RealPlayer元素指定名字(在标签中使用id)
参数:nojava 属性:True或是False 作用:避免启动Java虚拟机
参数:nolabels 属性:True或是False 作用:可以禁止显示标题或是版权信息(realplayer5.0以上时,它是垃圾...)
参数:nologo 属性:True或是False 作用:避免RealPlayer启动时在图像窗口中显示
参数:numloop 属性:任何整数值作用:让你能够指定文件片循环的次数,不需要参数loop
参数:prefetch 属性:True或是False 作用:指定在播放前,RealPlayer是否可以获得流描述信息,默认值是False
参数:region 属性:任何字符串作用:同SMIL一起使用。允许你指定使用HTML代替SMIL
参数:scriptcallbacks 属性:用逗号分割的列表作用:指定浏览器的回调监控(好高级的东东!)
参数:shuffle 属性:True或是False 作用:同多文件片的ram文件或是SMIL文件一起使用。可以让RealPlayer随机播放列表中的文件
参数:src 属性:任何合法的相对或是完整的URL 作用:指定播放的文件或是源文件的地址
参数:type 属性:字符串作用:为嵌入插件指定MIME类型
参数:width 属性:任何整数值作用:指定RealPlayer元素的宽度