我的引擎可以运行,OSX,Windows,Linux,Android和iOS; 我使用OpenAL处理3d声音.在OSX和iOS上,我正在使用为平台和其他Im使用OpenAL-soft的默认库.
使用OpenAL-soft音效可以使用ALC_EFX但是对于OSX和iOS我似乎只能访问ALC_ASA(这是Apple特有的,与EFX相比似乎有限).这是我唯一的选择吗?我无法使用OpenAL拥有真正的跨平台SFX系统?无论如何我可以在iOS/OSX上使用ALC_EFX吗?
我正在尝试制作一个可以同时播放7种声音的c ++程序.为此,我有7个由Qt Designer 5.3.1组成的播放按钮,每当我点击一个按钮时,它就会将声音加载到相应的缓冲区.我正在使用OpenAL播放声音.检查声音文件后,如果它是wav文件,我使用以下代码将数据加载到缓冲区:
//now we put our data into the openAL buffer and
//check for success
if (ui->groupBox_2->isHidden() == true) //play button is in the groupbox, so I'm using groupbox.
{
alGetError();
alBufferData(buffer[0], *format, data, *size, *freq);
}
else if (ui->groupBox_5->isHidden() == true)
{
alGetError();
alBufferData(buffer[1], *format, data, *size, *freq);
}
else if (ui->groupBox_14->isHidden() == true)
{
alGetError();
alBufferData(buffer[2], *format, data, *size, *freq);
}
else if (ui->groupBox_23->isHidden() == true)
{
alGetError();
alBufferData(buffer[3], *format, data, *size, *freq);
}
else if …Run Code Online (Sandbox Code Playgroud)