激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - ASP.NET教程 - asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用七牛轉(zhuǎn)換法)

asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用七牛轉(zhuǎn)換法)

2020-04-15 13:24LI小白 ASP.NET教程

相信很多人都遇到amr格式的音頻文件不能直接在網(wǎng)頁(yè)播放的問題,有人使用QuickTime插件的輔助,下面這篇文章主要給大家介紹了asp.net音頻轉(zhuǎn)換之利用七牛轉(zhuǎn)換法將.amr格式轉(zhuǎn).mp3格式,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

相信大家應(yīng)該都知道吧,.amr格式用于移動(dòng)設(shè)備的音頻,壓縮比比較大,多用于人聲、通話,效果還行!所以,移動(dòng)設(shè)備多采用amr格式來進(jìn)行錄存!比較常見的例子:通話錄音,微信語(yǔ)音以及錄音等!

但是這個(gè)鬼,用兩個(gè)字來形容,就是“蛋疼”;因?yàn)镠TML5壓根就不支持它(amr:我是個(gè)《孤兒》 ,導(dǎo)演:佐米·希爾拉);所以,試聽效果也就很難實(shí)現(xiàn)了!雖然微信是提供試聽的,但一旦離開了頁(yè)面,那就意味著,你再也無法播放你的錄音了!

所以你不得不將文件轉(zhuǎn)換下格式!

目前,小編掌握的轉(zhuǎn)換格式的方法有兩種:一是上傳到七牛云服務(wù)進(jìn)行轉(zhuǎn)換下載;二是通過ffmpeg 應(yīng)用進(jìn)行轉(zhuǎn)換!本文先進(jìn)行介紹利用七牛轉(zhuǎn)換的實(shí)現(xiàn)方法,下面來一起看看吧。

七牛轉(zhuǎn)換法:

1.首先,注冊(cè)七牛云存儲(chǔ)

2.七牛會(huì)返給你“兩張”通行證,通行證是通信七牛必不可少的工具!上圖一張:

asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用七牛轉(zhuǎn)換法)

AK 和 SK 是程序執(zhí)行的前提!

3.創(chuàng)建空間,添加隊(duì)列!空間名稱,和隊(duì)列名稱都用的到!

  空間是存儲(chǔ)你上傳文件的倉(cāng)庫(kù),隊(duì)列是加工文件的工廠!可以創(chuàng)建多個(gè)!

  空間需要配置域名!

4.下載七牛提供的源代碼:我是鏈接

文件里面有個(gè)名為“Qiniu.4.0.dll”的文件,把它引用到你的項(xiàng)目中!

?
1
2
3
4
5
6
7
8
9
10
/// <summary>
 /// 設(shè)置你的AK、SK 和 域名
 /// </summary>
 private static void SetKey()
 {
  //設(shè)置賬號(hào)的AK和SK
  Config.ACCESS_KEY = "########################################";
  Config.SECRET_KEY = "****************************************";
  Config.API_HOST = "http://###.***.com";
 }

5.上傳文件,并通知七牛要給文件轉(zhuǎn)換格式,以下例子是:.AMR格式  轉(zhuǎn) .MP3格式。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/// <summary>
 /// 上傳文件并預(yù)轉(zhuǎn)格式
 /// </summary>
 /// <param name="key">要轉(zhuǎn)換格式的文件名</param>
 /// <param name="filePath">文件路徑</param>
 /// <returns></returns>
 private string upload(string key, string filePath)
 {
  IOClient target = new IOClient();
  PutExtra extra = new PutExtra();
 
  //設(shè)置文件上傳后所存儲(chǔ)的空間名稱
  String bucket = "amrtest";
 
  //普通上傳,只需要設(shè)置上傳的空間名就可以了,第二個(gè)參數(shù)可以設(shè)定token過期時(shí)間
  PutPolicy put = new PutPolicy(bucket, 3600);
 
  //對(duì)轉(zhuǎn)碼后的文件進(jìn)行使用saveas參數(shù)自定義命名,也可以不指定,文件會(huì)默認(rèn)命名并保存在當(dāng)前空間。
  string mp3tpname = key.Split('.')[0].ToString() + ".mp3";
  String urlbase64 = Qiniu.Util.Base64URLSafe.Encode(bucket + ":" + mp3tpname);
 
  //一般指文件要上傳到的目標(biāo)存儲(chǔ)空間(Bucket)。若為“Bucket”,
  //表示限定只能傳到該Bucket(僅限于新增文件);若為”Bucket:Key”,表示限定特定的文件,可修改該文件。
  put.Scope = bucket + ":" + key;
  // 可選。 若非0, 即使Scope為 Bucket:Key 的形式也是insert only.
  put.InsertOnly = 0;
  // "|"豎線前是你要轉(zhuǎn)換格式的命令;豎線后是轉(zhuǎn)換完成后,文件的命名和存儲(chǔ)的空間的名稱!
  put.PersistentOps = "avthumb/mp3/ab/128k/ar/44100/acodec/libmp3lame|saveas/" + urlbase64;
  //規(guī)定文件要在那個(gè)“工廠”進(jìn)行改裝,也就是隊(duì)列名稱!
  put.PersistentPipeline = "LittleBai";
  //音視頻轉(zhuǎn)碼持久化完成后,七牛的服務(wù)器會(huì)向用戶發(fā)送處理結(jié)果通知。這里指定的url就是用于接收通知的接口。
  //設(shè)置了`persistentOps`,則需要同時(shí)設(shè)置此字段
  put.PersistentNotifyUrl = "http://***.###.com/***/default.aspx";
 
  //生成上傳Token
  string upToken = put.Token();
  //上傳文件
  PutRet ret = target.PutFile(upToken, key, filePath, extra);
  //返回?cái)?shù)據(jù)格式:{"hash":"FvipQyyMwI0gvGc7_NUd8OVBuJ85","key":"55456.amr","persistentId":"z0.57eb86a945a2652644d64308"}
  return ret.Response.ToString();
 }

6.最后,將轉(zhuǎn)換好的文件從七牛空間下載到當(dāng)前服務(wù)器上。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/// <summary>
 /// 下載
 /// </summary>
 /// <param name="key">轉(zhuǎn)好格式的文件名稱</param>
 /// <param name="savepath">下載后的保存路徑</param>
 /// <returns></returns>
 private string download(string key, string savepath)
 {
  //構(gòu)造私有空間的需要生成的下載的鏈接 你幫定在空間的域名 加 要下載的文件名
  string baseUrl = "http://***.###.com/" + key;
  //調(diào)用MakeRequest方法生成私有下載鏈接
  string private_url = GetPolicy.MakeRequest(baseUrl);
     //下載文件
  HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(private_url);
  req.Method = "GET";
  using (WebResponse wr = req.GetResponse())
  {
   HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
   string strpath = myResponse.ResponseUri.ToString();
   WebClient mywebclient = new WebClient();
   try
   {
    mywebclient.DownloadFile(strpath, savepath);
   }
   catch (Exception ex)
   {
    savepath = ex.ToString();
   }
  }
  return savepath;
 }

OK,轉(zhuǎn)換完成!附效果圖一張:

asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用七牛轉(zhuǎn)換法)

總結(jié)

以上就是asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用七牛轉(zhuǎn)換法)的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

原文鏈接:http://www.cnblogs.com/LittleBai/p/5920705.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 毛片网站视频 | 99在线免费观看视频 | 欧美国产一区二区三区激情无套 | 欧美中文日韩 | 中文字幕视频在线播放 | 日韩中文字幕三区 | 国产精品一区二区羞羞答答 | 91久久极品少妇韩国 | 国产一区二区视频在线播放 | 欧美a∨一区二区三区久久黄 | 一本精品999爽爽久久久 | 色妞妞视频 | 91成人久久 | 国产免费大片视频 | 欧美日韩成人一区二区 | 九九精品在线观看视频 | 多人乱大交xxxxx变态 | av免播放 | 亚洲精品v天堂中文字幕 | 国产午夜免费福利 | 日本中文视频 | 国产男女爽爽爽爽爽免费视频 | 亚洲一区二区三区日本久久九 | 国产九色在线播放九色 | 欧美人成在线视频 | 精品一区二区三区欧美 | 精品成人av一区二区三区 | 久久精品一二三区白丝高潮 | 蜜桃av鲁一鲁一鲁一鲁 | 国产亚洲精品久久午夜玫瑰园 | 在线看小早川怜子av | 亚洲综合91 | 国产91久久精品一区二区 | 久久精品视频免费观看 | 久色成人网 | 成人毛片100部 | 久久人人爽爽爽人久久久 | 国产精品视频专区 | 久久精品久久久久 | 久久久大片 | 成人羞羞国产免费游戏 |