diff --git a/rtc_plugins.cpp b/rtc_plugins.cpp index 25be18d..7079dc8 100644 --- a/rtc_plugins.cpp +++ b/rtc_plugins.cpp @@ -55,6 +55,9 @@ namespace np = boost::python::numpy; np::ndarray getNumpydata() { return RTCContext::instance().getNumpydata(); } +int16_t getDataCount() { + return RTCContext::instance().getDataCount(); +} py::object create_int16_array() { // 1. 定义数组维度(1维,长度为 4) npy_intp dims[1] = {4}; @@ -209,6 +212,7 @@ BOOST_PYTHON_MODULE(rtc_plugins) { py::def("getSize", &getSize); py::def("getData", &getData); py::def("getNumpyData", &getNumpydata); + py::def("getDataCount", &getDataCount); } catch (...) { PyErr_SetString(PyExc_RuntimeError, "Module initialization failed"); } diff --git a/test_time_r.py b/test_time_r.py index f432187..f519ea3 100644 --- a/test_time_r.py +++ b/test_time_r.py @@ -58,6 +58,8 @@ while True: print("resend succ") size = rtc_plugins.getSize() print(f"data size:{size}") - frame = rtc_plugins.getNumpyData() - print(f"frame:{frame}") + #frame = rtc_plugins.getNumpyData() + #print(f"frame:{frame}") + dataCount = rtc_plugins.getDataCount() + print(f"data count:{dataCount}") time.sleep(3) diff --git a/util/RTCContext.cpp b/util/RTCContext.cpp index 5df0424..0f08c4e 100644 --- a/util/RTCContext.cpp +++ b/util/RTCContext.cpp @@ -724,6 +724,11 @@ np::ndarray RTCContext::getNumpydata() { } +int16_t RTCContext::getDataCount() { + std::lock_guard lock(dataMutex_); + RetAudioFrame frame = getData(); + return frame.dataCount; +} int16_t RTCContext::getSize() { std::lock_guard lock(dataMutex_); return dataSize_; diff --git a/util/RTCContext.h b/util/RTCContext.h index 1f57cbd..c9679cb 100644 --- a/util/RTCContext.h +++ b/util/RTCContext.h @@ -100,6 +100,7 @@ public: void setData(const mrtc::MRTCAudioFrame& frame); RetAudioFrame getData(); np::ndarray getNumpydata(); + int16_t getDataCount(); void* getpData() const; void setpData(void* pData);