Wav File asp.net c#网络表单
本文关键字:网络 表单 net File asp Wav | 更新日期: 2023-09-27 17:58:31
如何在c#asp.net web表单中播放wav文件格式(A-Law,8000 Hz,64 Kbps,mono)。
c#asp.net仅支持播放wav PCM格式
使用HTML5来实现这一点。它支持WAV文件:)
看看这个:http://www.w3schools.com/html/html5_audio.asp
注意:请注意,并非所有浏览器都支持WAV文件。您可以在该页面上找到更多详细信息!
创建自己的a-law播放器非常困难,这需要对算法有深入的了解。幸运的是,有SoX等工具可以帮助您将该文件转换为所需的.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;
}
}