diff --git a/rtc_plugins.cpp b/rtc_plugins.cpp index 20fa70b..825d596 100644 --- a/rtc_plugins.cpp +++ b/rtc_plugins.cpp @@ -103,21 +103,21 @@ int sendCustomAudioData(const int16_t destChannelIndex, py::object pD, int32_t s return -1; } } -void init_numpy() { - if (import_array() < 0) { - throw std::runtime_error("NumPy initialization failed"); - } -} -BOOST_PYTHON_MODULE(rtc_plugins) { - try { - init_numpy(); - // 注册函数... - py::def("init", &init); - py::def("initRecv", &initRecv); - py::def("initSend", &initSend); - py::def("sendCustomAudioData", &sendCustomAudioData); - } catch (...) { - PyErr_SetString(PyExc_RuntimeError, "Module initialization failed"); - } +// 修改后的初始化函数 +int init_numpy() { + if (import_array() < 0) { + PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); + return -1; + } + return 0; +} + +BOOST_PYTHON_MODULE(rtc_plugins) { + if (init_numpy() != 0) return; + + py::def("init", &init); + py::def("initRecv", &initRecv); + py::def("initSend", &initSend); + py::def("sendCustomAudioData", &sendCustomAudioData); } \ No newline at end of file