Asp.Net 音頻文件上傳和播放代碼
在網(wǎng)上找到一個(gè)名叫AspNetPager的第三方控件,將AspNetPager.dll文件引用到項(xiàng)目的Bin中。在網(wǎng)頁中可直接調(diào)用。引用命名空間 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()-返回括號(hào)內(nèi)字符的所在位置
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
{
//將數(shù)據(jù)插入數(shù)據(jù)庫(kù)
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('空間不足,請(qǐng)申請(qǐng)空間!!')</script>");
return;
}
}
else
{
Response.Write("<script>alert('上傳文件格式錯(cuò)誤! 文件格式為mp3,wma,wav.rm的視頻!')</script>");
return;
}
}
else
{
Response.Write("<script>alert('請(qǐng)選擇上傳的文件')</script>");
return;
}
}
}
>>播放
1、在播放頁面添加控件Literal1 控件
2、在頁面后臺(tái)添加調(diào)用音頻播放器代碼
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、調(diào)用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調(diào)用方法播放音頻
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();
}
}
}
相關(guān)文章
.NET?Core企業(yè)微信開發(fā)接口回調(diào)配置
這篇文章介紹了.NET?Core企業(yè)微信回調(diào)配置的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06.NetCore?Web?Api?利用ActionFilterAttribute統(tǒng)一接口返回值格式及問題解析
在實(shí)際項(xiàng)目開發(fā)過程中,統(tǒng)一API返回值格式對(duì)前端或第三方調(diào)用將是非常必要的,在.NetCore中我們可以通過ActionFilterAttribute來進(jìn)行統(tǒng)一返回值的封裝,對(duì).NetCore?Web?Api?統(tǒng)一接口返回值格式相關(guān)知識(shí)感興趣的朋友一起看看吧2022-03-03asp.net使用原生控件實(shí)現(xiàn)自定義列導(dǎo)出功能的方法
這篇文章主要給大家介紹了關(guān)于asp.net使用原生控件實(shí)現(xiàn)自定義列導(dǎo)出功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01DataGridView - DataGridViewCheckBoxCell的使用介紹
Datagridview是.net中最復(fù)雜的控件,Datagridview中,用戶可以對(duì)行、列、單元格進(jìn)行編程,下面與大家分享下DataGridViewCheckBoxCell的使用,感興趣的朋友可以參考下哈2013-06-06.NET Core3.0創(chuàng)建Worker Services的實(shí)現(xiàn)
這篇文章主要介紹了.NET Core3.0創(chuàng)建Worker Services的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10ASP.NET Core使用SkiaSharp實(shí)現(xiàn)驗(yàn)證碼的示例代碼
本篇文章主要介紹了ASP.NET Core使用SkiaSharp實(shí)現(xiàn)驗(yàn)證碼的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12ASP.NET 2.0 中收集的小功能點(diǎn)(轉(zhuǎn))
ASP.NET 2.0 中收集的小功能點(diǎn)(轉(zhuǎn))...2006-12-12使用Fiddler調(diào)試visual studion多個(gè)虛擬站點(diǎn)的問題分析
本篇文章小編為大家介紹,使用Fiddler調(diào)試visual studion多個(gè)虛擬站點(diǎn)的問題分析。需要的朋友參考下2013-04-04