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

所属分类: 网络编程 / ASP.NET 阅读数: 1596
收藏 0 赞 0 分享
一、音频文件上传和播放
在网上找到一个名叫AspNetPager的第三方控件,将AspNetPager.dll文件引用到项目的Bin中。在网页中可直接调用。引用命名空间 using Telerik.WebControls;
>>上传
复制代码 代码如下:

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();
}
}
}
更多精彩内容其他人还在看

.NET Core源码解析配置文件及依赖注入

这篇文章我们设计了一些复杂的概念,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等
收藏 0 赞 0 分享

.NET Corek中Git的常用命令及实战演练

这篇文章将通过故事的形式从Git的历史谈起,并讲述Git的强大之处。然后通过实战演练教你如何在Github以及码云上托管我们的代码并进行代码的版本控制
收藏 0 赞 0 分享

Asp.Net Core WebAPI使用Swagger时API隐藏和分组详解

这篇文章主要给大家介绍了关于Asp.Net Core WebAPI使用Swagger时API隐藏和分组的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Asp.Net Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

如何利用FluentMigrator实现数据库迁移

这篇文章主要给大家介绍了关于如何利用FluentMigrator实现数据库迁移的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

ASP.NET Core利用Jaeger实现分布式追踪详解

这篇文章主要给大家介绍了关于ASP.NET Core利用Jaeger实现分布式追踪的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

浅谈从ASP.NET Core2.2到3.0你可能会遇到这些问题

这篇文章主要介绍了ASP.NET Core2.2到3.0可能会遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解.net core webapi 前后端开发分离后的配置和部署

这篇文章主要介绍了.net core webapi 前后端开发分离后的配置和部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁

这篇文章主要介绍了ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

.net 4.5部署到docker容器的完整步骤

这篇文章主要给大家介绍了关于.net 4.5部署到docker容器的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用.net4.5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

.net core并发下线程安全问题详解

这篇文章主要给大家介绍了关于.net core并发下线程安全问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多