解决“error: Tried to call obs_frontend_start_virtualcam with no callbacks!”
开发使用 OBS Studio API 的过程中,遇到了不少挑战,尤其是在使用 obs_frontend
API 时。通过一段时间的探讨和实验,我们发现一个常见的错误提示:“error: Tried to call obs_frontend_start_virtualcam with no callbacks!” 这表明在调用 OBS 的一些前端 API 之前,必须进行回调类的注册。以下是本次讨论的总结以及如何解决该问题.
1. 为什么会遇到“no callbacks”错误?
当我们调用 obs_frontend_start_virtualcam
等前端 API 时,实际上是依赖于回调机制的。obs_frontend_callbacks
是 OBS 提供的一个虚基类,所有前端操作都需要通过回调类来实现。因此,开发者需要继承 obs_frontend_callbacks
类并实现其中的方法,然后将其注册到 OBS 系统中。
这就是为什么在调用 obs_frontend_start_virtualcam
或 obs_frontend_take_source_screenshot
之前,必须通过 obs_frontend_set_callbacks_internal
注册回调类的原因。未注册回调类会导致上述错误,阻止相关操作的执行。