Wav文件asp.net c#webforms

Wav文件asp.net c#webforms,c#,asp.net,webforms,wav,C#,Asp.net,Webforms,Wav,如何在c#asp.net web窗体中播放wav文件格式(A-Law,8000 Hz,64 Kbps,mono) c#asp.net仅支持播放wav PCM格式使用HTML5实现此功能。它支持WAV文件:) 看看这个: 注意:请注意,并非所有浏览器都支持WAV文件。您将在该页面上找到更多详细信息 创建自己的a-law玩家非常困难,这需要对a-law有深入的了解。幸运的是,有一些工具可以帮助您将该文件转换为所需的.wav格式 这是我写的一个函数,用于将文件u-law文件转换为wav格式,以便阅读

如何在c#asp.net web窗体中播放wav文件格式(A-Law,8000 Hz,64 Kbps,mono)


c#asp.net仅支持播放wav PCM格式

使用HTML5实现此功能。它支持WAV文件:)

看看这个:


注意:请注意,并非所有浏览器都支持WAV文件。您将在该页面上找到更多详细信息

创建自己的a-law玩家非常困难,这需要对a-law有深入的了解。幸运的是,有一些工具可以帮助您将该文件转换为所需的
.wav
格式

这是我写的一个函数,用于将文件
u-law
文件转换为wav格式,以便阅读

    /// <summary>
    /// Generates the sound file using SoX.exe.
    /// </summary>
    /// <param name="fromFile">From file in uLaw encoding.</param>
    /// <param name="toFile">To wav file.</param>
    public bool GenerateSoundFile(string fromFile, string toFile)
    {
        string log = string.Format("fromFile={0},toFile={1}", fromFile, toFile);
        //EventLogger.Log(log);
        string arguments;

        //check the extension
        string ext = Path.GetExtension(fromFile);
        if (ext == ".ulaw")
        {
            arguments = string.Format("-t ul {0} -c 1 -r 8000 {1}", fromFile, toFile);
        }
        else
        {
            arguments = string.Format(" {0} -c 1 -r 8000 {1}", fromFile, toFile);
        }
        //EventLogger.Log(arguments);
        string command = System.Environment.CurrentDirectory + "\\sox.exe";
        try
        {   
            Process p = new Process();
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.FileName = command;
            p.StartInfo.Arguments = arguments;
            p.StartInfo.LoadUserProfile = true;

            p.Start();
            string output = p.StandardOutput.ReadToEnd();
            p.WaitForExit();
        }
        catch (Exception e)
        {
            EventLogger.Error("GenerateSoundFile", e);
        }

        //check output file exists           
        if (!File.Exists(toFile))
        {
            //EventLogger.Error("No output sound file generated");

            return false;
        }
        else
        {
            return true;

        }

    }
//
///使用SoX.exe生成声音文件。
/// 
///从uLaw编码中的文件。
///到wav文件。
public bool GenerateSoundFile(string fromFile,string toFile)
{
string log=string.Format(“fromFile={0},toFile={1}”,fromFile,toFile);
//EventLogger.Log(日志);
字符串参数;
//检查分机
字符串ext=Path.GetExtension(fromFile);
如果(ext==“.ulaw”)
{
arguments=string.Format(“-tul{0}-c1-r8000{1}”,fromFile,toFile);
}
其他的
{
arguments=string.Format(“{0}-c1-r8000{1}”,fromFile,toFile);
}
//日志(参数);
string命令=System.Environment.CurrentDirectory+“\\sox.exe”;
尝试
{   
过程p=新过程();
p、 StartInfo.UseShellExecute=false;
p、 StartInfo.RedirectStandardOutput=true;
p、 StartInfo.FileName=命令;
p、 StartInfo.Arguments=参数;
p、 StartInfo.LoadUserProfile=true;
p、 Start();
字符串输出=p.StandardOutput.ReadToEnd();
p、 WaitForExit();
}
捕获(例外e)
{
EventLogger.Error(“GenerateSoundFile”,e);
}
//检查输出文件是否存在
如果(!File.Exists(toFile))
{
//错误(“未生成输出声音文件”);
返回false;
}
其他的
{
返回true;
}
}

看看这篇文章,您需要对文件格式类型EventLogger.Log进行一些编码/转换,但不能在c#webforms中使用!!你能给我解释一下吗?哦,那只是我的自定义日志类,替换为
响应。写
@user1283712好的,请批准我的回答,如果它在尝试后解决了问题,我尝试了这个函数,所以我需要将文件转换为PCM格式,如何为进程输入参数是的,我现在,但这个函数将文件wav转换为ulow格式,我尝试了,我检查了输出文件的格式,我的问题是,你能将文件格式ulow转换为PCM吗,因为我有一个异常“附加信息:声音API仅支持播放PCM波形文件。”