【发布时间】:2018-07-20 17:07:36
【问题描述】:
我正在开发一个使用 pjsip 进行视频通话的应用程序。
我有:
- 核心库:C++ 中使用 pjsua2 的静态库。
- 一个用于 C++/CLI 桥的动态库,它封装了 1 中的所有公共接口。
- 一个 WPF 应用程序,链接到 2。
WPF 应用可以打开捕获设备。 Pjsip 为视频预览创建一个 sdl 窗口,并在 C++ 端将其 HWND 作为 void* 返回。
我正在将它“转换”为 std::string——使用 std::stringstream 流操作符——并将其编组到 WPF 端。
我想将该窗口嵌入到我的 WPF 主窗口中。这可能吗?
【问题讨论】:
-
是的,但为什么是字符串?!
-
"...我将其“转换”为 std::string..." 什么!!
HWND是void *但它是指向无处的指针。它只是一种方便的类型来保存其含义是 MS-Windows 内部的值,它不代表内存地址。 -
我正在使用 djinni 为其他语言搭建桥梁。我无法在生成的接口中发送指针……这就是我使用 std::string 的原因。在 mac/swift 上,我可以对一些可可类进行不安全的强制转换,并且工作正常。
-
我现在也在尝试这样做,但我不确定如何继续。你还记得你的解决方案是什么吗?