【问题标题】:Is there a way to play a CCITT u-Law .wav file in C#?有没有办法在 C# 中播放 CCITT u-Law .wav 文件?
【发布时间】:2012-09-05 23:42:22
【问题描述】:

未能找到以编程方式将 CCITT u-Law 波形文件转换为 PCM 文件(Soundplayer 要求)的方法,符合以下问题:How to play non-PCM file or convert it to PCM on the fly ?

(SOX 看起来可能有效,但我找不到任何从 C# 使用它从 CCITT u-Law .wav 文件转换为“常规”(PCM).wav 文件的示例),

我想知道我是不是走错了路:也许我应该找到一种播放 CCITT u-Law .wav 文件的方法,而不是尝试将其转换为 PCM .wav 文件。

有人知道这怎么可能吗? SoundPlayer 总是说,“Sound API 只支持播放 PCM 波形文件”所以也许我可以使用另一个 API?

注意:Alvas.Audio 也“不是一个选项”,因为它不是免费或开源的。

【问题讨论】:

  • 这个库声称支持它:alvas.net/alvas.audio.aspx
  • @TJD:alvas.audio 可能有用,但正如我所提到的,它要花钱,我的雇主不会支付。
  • @Bjorn:我也没有找到关于如何在 libsndfile 中执行此操作的任何参考 - 我认为它可以在 mp3 和 wav 以及 aiff 和 wav 之间转换,但我没有看到wav/pcm 和 wav/ccitt u-law 之间的任何转换。
  • 按下南极按钮的人应该解释原因。
  • 试试 libsndfile:它有实用程序可以转换和播放它可以读取的任何格式。

标签: c# winforms audio wav pcm


【解决方案1】:

方法是使用newkie的代码在:http://www.codeproject.com/Articles/175030/PlaySound-A-Better-Way-to-Play-Wav-Files-in-C?msg=4366037#xx4366037xx

不过,至少在我的情况下,我必须将所有小写 x 更改为大写 x,才能使其正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多