debug
This commit is contained in:
parent
a4713448d7
commit
6e6e7f4337
|
@ -66,7 +66,28 @@ int16_t getDataCount() {
|
||||||
PYBIND11_MODULE(rtc_plugins, m) {
|
PYBIND11_MODULE(rtc_plugins, m) {
|
||||||
// 可选:暴露 RetAudioFrame 类(需额外绑定)
|
// 可选:暴露 RetAudioFrame 类(需额外绑定)
|
||||||
py::class_<RetAudioFrame>(m, "RetAudioFrame")
|
py::class_<RetAudioFrame>(m, "RetAudioFrame")
|
||||||
.def_readwrite("data", &RetAudioFrame::data)
|
// 定义 data 属性(包含 getter 和 setter)
|
||||||
|
.def_property("data",
|
||||||
|
// Getter:返回 NumPy 数组
|
||||||
|
[](RetAudioFrame& self) {
|
||||||
|
return py::array_t<short>(
|
||||||
|
{self.dataCount}, // 数组形状
|
||||||
|
{sizeof(short)}, // 步长
|
||||||
|
self.data.get() // 数据指针(原始内存)
|
||||||
|
);
|
||||||
|
},
|
||||||
|
// Setter:从 NumPy 数组复制数据
|
||||||
|
[](RetAudioFrame& self, py::array_t<short> arr) {
|
||||||
|
auto buf = arr.request(); // 获取数组信息
|
||||||
|
self.data.reset(new short[buf.size]); // 重新分配内存
|
||||||
|
std::memcpy(
|
||||||
|
self.data.get(), // 目标指针
|
||||||
|
buf.ptr, // 源数据指针
|
||||||
|
buf.size * sizeof(short) // 数据大小
|
||||||
|
);
|
||||||
|
self.dataCount = buf.size; // 更新数据长度
|
||||||
|
}
|
||||||
|
)
|
||||||
.def_readwrite("dataCount", &RetAudioFrame::dataCount)
|
.def_readwrite("dataCount", &RetAudioFrame::dataCount)
|
||||||
.def_readwrite("sampleRate", &RetAudioFrame::sampleRate)
|
.def_readwrite("sampleRate", &RetAudioFrame::sampleRate)
|
||||||
.def_readwrite("numChannels", &RetAudioFrame::numChannels)
|
.def_readwrite("numChannels", &RetAudioFrame::numChannels)
|
||||||
|
|
Loading…
Reference in New Issue