Mix_OpenAudioDevice(SDL2)中的Device参数是什么



虽然我知道如何使用MIX_OpenAudio。。。。我想知道MIX_OpenAudioDevice功能的使用

这需要几个论点。。。设备名称是其中之一

所以,我想知道我们如何才能知道设备名称是

它说我们可以使用一个函数,即SDL_GetAudioDeviceName((

但是,我们如何知道在每个系统上选择哪种音频设备。。。。

或者这个功能只适用于像realtek之类的特定音频系统?

因此,根据我的理解,MIX_OpenAudio()已经在使用MIX_OpenAudioDevice(),只是为device参数使用了NULL值(然后默认为系统用于声音的任何值(。如果您希望音频数据采用特定格式,则需要在该函数中指定实际device的唯一原因是。所以你应该已经知道它是什么了

从文档:(链接(

如果你不特别关心音频设备的细节,并且你的数据不是特定的格式,那么你在这里使用的值可以是合理的默认值。

此功能允许您使用设备参数选择系统上的特定音频硬件。如果指定NULL,SDL_mixer将代表您选择最佳默认值(在许多情况下,这正是您想要的(。SDL_mixer不提供确定要打开的设备名称的机制,但您可以使用SDL_GetNumAudioDevices()来获得可用设备的计数,然后在循环中使用SDL_GetAudioDeviceName()来获得列表。如果您这样做,请确保首先调用SDL_Init(SDL_INIT_AUDIO)来初始化SDL的音频系统!

正如文档所说,SDL_GetNumAudioDevices()将允许您循环使用SDL_GetAudioDeviceName(),以查看它是否存在于机器上。

这将使您能够更好地控制音频,并可以节省将数据转换为确切设备的CPU时间。您还必须已打开该设备。

还有SDL2文档的链接。

希望这有助于解释该功能。

相关内容

最新更新