日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

.net 音频转换 .amr 转 .mp3 (七牛转换法)

發布時間:2023/12/19 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 .net 音频转换 .amr 转 .mp3 (七牛转换法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

.amr 用于移動設備的音頻,壓縮比比較大,多用于人聲、通話,效果還行!所以,移動設備多采用amr格式來進行錄存!比較常見的例子:通話錄音,微信語音以及錄音等!

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

所以你不得不將文件轉換下格式!

目前,小編掌握的轉換格式的方法有兩種:一是上傳到七牛云服務進行轉換下載;二是通過ffmpeg 應用進行轉換!

七牛轉換法:

1.首先,注冊七牛云存儲!

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

AK 和 SK 是程序執行的前提!

3.創建空間,添加隊列!空間名稱,和隊列名稱都用的到!

空間是存儲你上傳文件的倉庫,隊列是加工文件的工廠!可以創建多個!

空間需要配置域名!

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

文件里面有個名為“Qiniu.4.0.dll”的文件,把它引用到你的項目中!

   /// <summary>
    /// 設置你的AK、SK 和 域名
    /// </summary>
    private static void SetKey()
    {
        //設置賬號的AK和SK
        Config.ACCESS_KEY = "########################################";
        Config.SECRET_KEY = "****************************************";
        Config.API_HOST = "http://###.***.com";
    }

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

   /// <summary>
    /// 上傳文件并預轉格式
    /// </summary>
    /// <param name="key">要轉換格式的文件名</param>
    /// <param name="filePath">文件路徑</param>
    /// <returns></returns>
    private string upload(string key, string filePath)
    {
        IOClient target = new IOClient();
        PutExtra extra = new PutExtra();

        //設置文件上傳后所存儲的空間名稱
        String bucket = "amrtest";

        //普通上傳,只需要設置上傳的空間名就可以了,第二個參數可以設定token過期時間
        PutPolicy put = new PutPolicy(bucket, 3600);

        //對轉碼后的文件進行使用saveas參數自定義命名,也可以不指定,文件會默認命名并保存在當前空間。
        string mp3tpname = key.Split('.')[0].ToString() + ".mp3";
        String urlbase64 = Qiniu.Util.Base64URLSafe.Encode(bucket + ":" + mp3tpname);

        //一般指文件要上傳到的目標存儲空間(Bucket)。若為“Bucket”,
        //表示限定只能傳到該Bucket(僅限于新增文件);若為”Bucket:Key”,表示限定特定的文件,可修改該文件。
        put.Scope = bucket + ":" + key;
        // 可選。 若非0, 即使Scope為 Bucket:Key 的形式也是insert only.
        put.InsertOnly = 0;
        // "|"豎線前是你要轉換格式的命令;豎線后是轉換完成后,文件的命名和存儲的空間的名稱!
        put.PersistentOps = "avthumb/mp3/ab/128k/ar/44100/acodec/libmp3lame|saveas/" + urlbase64;
        //規定文件要在那個“工廠”進行改裝,也就是隊列名稱!
        put.PersistentPipeline = "LittleBai";
        //音視頻轉碼持久化完成后,七牛的服務器會向用戶發送處理結果通知。這里指定的url就是用于接收通知的接口。
        //設置了`persistentOps`,則需要同時設置此字段
        put.PersistentNotifyUrl = "http://***.###.com/***/default.aspx";

        //生成上傳Token
        string upToken = put.Token();
        //上傳文件
        PutRet ret = target.PutFile(upToken, key, filePath, extra);
        //返回數據格式:{"hash":"FvipQyyMwI0gvGc7_NUd8OVBuJ85","key":"55456.amr","persistentId":"z0.57eb86a945a2652644d64308"}
        return ret.Response.ToString();
    }

6.最后,將轉換好的文件從七牛空間下載到當前服務器上。

   /// <summary>
    /// 下載
    /// </summary>
    /// <param name="key">轉好格式的文件名稱</param>
    /// <param name="savepath">下載后的保存路徑</param>
    /// <returns></returns>
    private string download(string key, string savepath)
    {
        //構造私有空間的需要生成的下載的鏈接 你幫定在空間的域名 加 要下載的文件名
        string baseUrl = "http://***.###.com/" + key;
        //調用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,轉換完成!附效果圖一張:

轉載請注明本博地址:http://www.cnblogs.com/LittleBai/p/5924416.html

絕對原創,轉載請注明!

好了,到此結束!拙文一篇,望海涵!

如有疑問,歡迎騷擾,Q群:225443677 TKS!

總結

以上是生活随笔為你收集整理的.net 音频转换 .amr 转 .mp3 (七牛转换法)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。