【问题标题】:What exact form of *.wav files are supported by wxWidgets?wxWidgets 支持什么格式的 *.wav 文件?
【发布时间】:2023-03-31 06:47:02
【问题描述】:

wxBell() 命令在 Linux (Ubuntu) 上没有任何作用,我阅读了使用 wxSound 的建议。 现在我在这里找到了“错误答案”声音的无许可证声音样本: http://www.orangefreesounds.com/wrong-answer-sound-effect/

不幸的是,它是 *.mp3 格式。所以我在这里找到了一个在线转换程序: https://www.online-convert.com/result/57548c3f-6cf3-40b5-9dcc-f7c3e5f03ab3 它提供了各种选项,例如 32 位浮点、8、16、24 或 32 位的有符号或无符号整数,小端或大端,不同的采样率等。

但是当 wxSound 的构造函数尝试读取转换后的文件时,我得到:声音文件 '../wrong-answer.wav' 的格式不受支持。 (至少它可以找到它)。

虽然我可以通过在 nautilus 中双击它来播放至少一个转换后的文件(16 位有符号整数,44100Hz,单声道)。 (视频播放器好像叫图腾)。

但最大的问题是:wxSound 可以接受什么位分辨率、采样率、#channels 和 PCM 格式?

对于简单的哔哔声/嗡嗡声来说,这很麻烦。甚至我的 ZX Spectrum 在 1983 年也可以做到这一点,而无需额外的资源文件。那里有一个哔声命令,您可以在其中传递频率和持续时间。如果不必使用 SDL(例如 linux 原生 API 调用),难道就不能实现类似的事情吗?

加分点:有没有可以通过 ssh 工作的解决方案,现在我们都在家工作?软件在公司服务器上运行。我们使用 ssh -X 在家中获得 GUI,但声音好吗?

【问题讨论】:

标签: linux audio wxwidgets wav


【解决方案1】:

我从这里得到的提示: https://trac.wxwidgets.org/ticket/14899 尝试先安装“oss-compat”,重新启动并测试。 尝试安装“alsa-oss”。

我还没有检查这是否有效。

【讨论】:

    【解决方案2】:

    wxBell() 使用您桌面环境中配置的“铃铛”,因此其行为取决于平台。

    至于wxSound,不幸的是,很难说出它在您的文件中到底不喜欢什么,因为它有多次检查,但通常它不应该在有效的 WAV 数据上失败。如果你自己构建了wxWidgets,最简单的找出问题的方法是在gdb下运行程序,做b wxSound::LoadWAV,然后一步步执行这个函数,看看哪个检查失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      • 2010-11-22
      • 2013-11-25
      • 1970-01-01
      相关资源
      最近更新 更多