虽然我知道如何使用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文档的链接。
希望这有助于解释该功能。