diff --git a/rtc_plugins.cpp b/rtc_plugins.cpp index a91b8e0..cab8994 100644 --- a/rtc_plugins.cpp +++ b/rtc_plugins.cpp @@ -63,12 +63,11 @@ int sendCustomAudioData(const int16_t destChannelIndex, py::object pD, int32_t s std::cout << "step 2" << std::endl; std::cout << "pyData ptr is:" << pyData.ptr() << std::endl; - // 2. 检查是否是 numpy 数组 - if (!PyObject_Check(pyData.ptr())) { - std::cerr << "ERROR: Not a valid Python object" << std::endl; + if (!pyData.ptr() || !Py_IsInitialized() || !PyObject_TypeCheck(pyData.ptr(), &PyBaseObject_Type)) { throw std::runtime_error("Invalid Python object"); } std::cout << "step 2" << std::endl; + // 2. 检查是否是 numpy 数组 if (!PyArray_Check(pyData.ptr())) { std::cout << "input is notnumpy" << std::endl; throw std::runtime_error("Input is not a numpy array");