gpt4 book ai didi

delphi - Winmm.dll无法播放某些WAV声音吗?

转载 作者:行者123 更新时间:2023-12-03 02:34:34 25 4
gpt4 key购买 nike

显然,Windows对Windows Vista中的音频体系结构进行了一些重大更改。据我了解,Vista及更高版本中未包含某些“旧版编解码器”,但是我不确定这是否是导致问题的原因。

我在Delphi中编程,当前正在使用Windows库中的winmm.dll及其PlaySound方法来播放wav文件。似乎有许多该dll无法播放的WAV文件。有趣的是,Windows Media Player可以播放失败的声音,但是Windows控制面板的声音小程序也不能播放失败的声音,因此我怀疑这可能是我用来播放声音的库的限制,而不是由我直接造成的应用程式。但是,这会导致不良的用户体验,使声音文件无声地失败,而不会通知用户文件某种程度上存在缺陷并且无法使用。

所以...我是否应该使用其他库函数来播放具有更大编解码器支持的WAV声音,并且能够像Windows Media Player一样播放这些损坏的文件,如果没有,是否还有其他函数调用我可以用来测试WAV是否有效/可播放,以便通知用户不支持文件的内部格式?

最佳答案

与MCI下的PlaySound相比,Window Media Player使用DirectShow可以提供更好的性能和更大的灵活性。但是,与MCI相比,使用DirectShow播放声音似乎需要付出很多努力。

看看Carlos Barbosa的cbAudioPlay组件,因为它提供了一个使用DirectShow的好例子,并且包含您需要的相关库。

关于delphi - Winmm.dll无法播放某些WAV声音吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com