c# – 如何播放非PCM文件或将其转换为PCM?
发布时间:2020-12-15 17:28:58 所属栏目:百科 来源:网络整理
导读:下面的代码适用于一些wav文件,但我得到的是“InvalidOperationException未处理.Message = Sound API仅支持播放PCM wave文件.” var webClient = new WebClient();webClient.DownloadFile(url,fileName);var fileSound = new SoundPlayer(fileName);fileSound
下面的代码适用于一些wav文件,但我得到的是“InvalidOperationException未处理.Message = Sound API仅支持播放PCM wave文件.”
var webClient = new WebClient(); webClient.DownloadFile(url,fileName); var fileSound = new SoundPlayer(fileName); fileSound.PlaySync(); 有没有办法以编程方式检查wav文件是否“坏”(不是PCM波形文件),然后根据需要进行转换? 奇怪的是,代码在传统的Delphi应用程序中运行 – 所有的wav文件都可以正常运行.这是Delphi代码: filename := GetEnvironmentVariable('TEMP')+'archieAndDingbat.wav'; URLDownloadToFile(nil,PChar(url),PChar(filename),nil); PlaySound(filename); 我查看了资源管理器中两个文件的属性,我发现确实存在差异.对于播放的文件,其音频格式为PCM;不会参加的是CCITT u-Law. 所以…我需要一种方法在下载这些文件后从CCITT u-Law转换为PCM(它们从网址下载然后在本地播放)或者可能是播放这些文件的不同方式而不是PlaySync() … 解决方法
看看mitov的audiolab库.它很棒
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |