流体合成  1.1.11
fluidsynth_register_adriver.c

如何使用来注册音频驱动程序的示例 fluid_audio_driver_register() (仅限高级用户)

#包括<stdio.h>
#包括<fluidsynth.h>
整型 主要()
{
const 烧焦* DRV [] = { "alsa", "jack", "portaudio" };
const 烧焦* adrivers [2];
对于(整型 i = 0;一世<大小(DRV)/大小(DRV [0]);我++)
{
adrivers [0] = DRV [i];
/ *注册您需要的任何其他驱动程序
*
* adrivers [X] ="whatever";
* /
adrivers [1] = NULL; / * NULL终止数组* /
/ *注册那些音频驱动程序。请注意,此时没有流体合成物体存在! * /
整型 res = fluid_audio_driver_register(驾驶员);
如果(res!= FLUID_OK)
{
放置"adriver reg err");
返回 -1;
}
res = fluid_settings_setstr(设置, "audio.driver",DRV [i]);
/ *设置API将被重构,以在下一个主要版本中返回FLUID_OK | FAILED
*不建议返回TRUE或FALSE
* /
#if FLUIDSYNTH_VERSION_MAJOR>= 2
如果(res!= FLUID_OK)
#其他
如果(res == 0)
#万一
{
放置"audio.driver set err");
返回 -1;
}
fluid_synth_t*合成器= new_fluid_synth(设置);
fluid_audio_driver_t*广告= new_fluid_audio_driver(设置,合成器);
/ *
* ~~~在这里做日常工作~~~
* /
delete_fluid_synth(合成);
delete_fluid_settings(设置);
/ *清理完毕的所有内容,如有需要,可以再次调用fluid_audio_driver_register()* /
}
返回 0;
}