0

我正在尝试在 swift 项目中使用 libmpv。我已将所有内容联系起来,并尝试遵循基本示例

问题是,要显示视频,我必须将整数指针 (intptr_t) 传递给wid 命令。在 Objective-C 中,这将按照上面的示例提示完成:

int64_t wid = (intptr_t) self->wrapper;

其中 wrapper 是用于视频播放器的包装视图。但是,由于 swift 并不意味着使用指针,并且包装器视图是我理解的一种,我不知道如何将其翻译为 swift。

我尝试将 NSView 转换为UnsafePointer这样的

let t = UnsafePointer(&view)

然后转换tintptr_torInt但这种转换不起作用。它说这个值不能转换为Int. 那么如何将视频播放器嵌入到快速视图中呢?

4

1 回答 1

1

看起来你根本不需要一个 int 指针。mpv_set_option() API你试图调用的实际上需要一个void *. 在 Swift 中,这被桥接为UnsafeRawPointer.

我认为您可以直接通过&view,这应该会UnsafeRawPointer自动桥接。但是,现在你必须小心,因为你必须确保你的 VC 的生命周期至少能持续到mpv需要它的时间。

于 2019-07-08T15:01:23.307 回答