程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .net 音頻轉換 .amr 轉 .mp3 (ffmpeg轉換法),.amrffmpeg

.net 音頻轉換 .amr 轉 .mp3 (ffmpeg轉換法),.amrffmpeg

編輯:關於.NET

.net 音頻轉換 .amr 轉 .mp3 (ffmpeg轉換法),.amrffmpeg


最近看來是跟聲音干上了啊!

音頻轉換的第二種方法,這種方法相對第一種來說,要簡單的多!

首先,你得下載個“ffmpeg.exe” 插件,然後把它放到你的項目中,如下圖:

程序中會調用該文件,以助於轉換音頻格式!

上代碼:

using System;
using System.Threading;
using System.IO;
using System.Diagnostics;
using System.Security;

public partial class cowala_201512Chritmas_amrtest : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack) 
    {
      changedPlay.Visible = false;
    }
    }

    protected void Ffmpeg_Click(object sender, EventArgs e)
    {
        if (AmrFileUp.HasFile)
        {
            string key = AmrFileUp.FileName;
            string savepath = Server.MapPath("~/upload/amr/") + key;
            AmrFileUp.SaveAs(savepath);

            string mp3SavePth = Server.MapPath("~/upload/mp3/") + key.Split('.')[0].ToString() + ".mp3";

            if (!string.IsNullOrEmpty(ConvertToMp3(savepath, mp3SavePth)))
            {
                changedPlay.Visible = true;
                changedPlay.Attributes.Add("src", "upload/mp3/" + key.Split('.')[0].ToString() + ".mp3");
                Response.Write("<script>alert('轉換成功!');</script>");
            }
        }
    }

    public string ConvertToMp3(string pathBefore, string pathLater)
    {
        string c = Server.MapPath("/ffmpeg/") + @"ffmpeg.exe -i " + pathBefore + " " + pathLater;
        string str = RunCmd(c);
        return str;
    }

    /// <summary>
    /// 執行Cmd命令
    /// </summary>
    private string RunCmd(string c)
    {
        try
        {
            ProcessStartInfo info = new ProcessStartInfo("cmd.exe");
            info.RedirectStandardOutput = false;
            info.UseShellExecute = false;
            Process p = Process.Start(info);
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.Start();
            p.StandardInput.WriteLine(c);
            p.StandardInput.AutoFlush = true;
            Thread.Sleep(1000);
            p.StandardInput.WriteLine("exit");
            p.WaitForExit();
            string outStr = p.StandardOutput.ReadToEnd();
            p.Close();

            return outStr;
        }
        catch (Exception ex)
        {
            return "error" + ex.Message;
        }
    }
}

 

接著來張效果圖:

好了,就這麼簡單,不要不敢不相信你的眼睛,其實就是這麼簡單!

最後,來個問題:你們解完手後,擦時,習慣用左手還是右手?

 

有任何疑問歡迎進群騷擾:225443677  不要不好意思哦!

TKS!!!

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved