IDirectMusicPerformance8 - 仅 MIDI 或 WAV?

IDirectMusicPerformance8 - MIDI only, or WAV?

我正在尝试使用旧版本的 DirectX (8.1),但我发现文档有点令人困惑。感觉 IDirectMusicPerformance8 接口是用于 MIDI 播放的,因为它上面有各种 MIDI 相关的方法,但是文档的各个部分都建议它也可以用来播放 WAV 数据。例如,教程说您在性能上调用 InitAudio,它指出“Wave 文件只需要一个性能通道,而 MIDI 文件最多需要 16 个”。

那么它是用于 MIDI 还是可以用于 WAV?

如果可以用于WAV,我就更难过了,因为我正在初始化它,运行performance->PlaySegment(segment, 0, 0, NULL),得到了成功响应,但是没有声音。

好的,我明白了。显然我一直在使用 IDirectMusicPerformance 而不是 IDirectMusicPerformance8,我猜这是某种旧的兼容性问题,缺少各种新的 DirectX 8.1 方法。一旦我切换到那个(以及相关的'8'版本的加载程序和段接口),使用他们新的 InitAudioLoadObjectFromFile 方法,在播放之前调用 segment->Download(performance) ,然后玩新的 PlaySegmentEx 方法,它起作用并播放了 WAV。