我正在尝试在一个快速项目中使用libmpv。我已将所有内容关联起来,并正在尝试遵循基本的example。
问题是,要显示视频,我必须将整数指针(intptr_t)传递到wid command。在Objective-C中,将按照上面的提示示例进行操作:
#menu {
opacity: 0;
transition: opacity 1s 0s;
}
#menu.visible {
opacity: 1;
}
其中wrapper是用于视频播放器的包装视图。但是,由于swift并不意味着要使用指针,而且包装程序视图是据我所知的视图,因此我不知道如何将其转换为swift。
我试图像这样将NSView强制转换为int64_t wid = (intptr_t) self->wrapper;
UnsafePointer
,然后将let t = UnsafePointer(&view)
强制转换为t
或intptr_t
,但此转换无效。它说此值不能转换为Int
。
那么如何将视频播放器嵌入到快速视图中?
答案 0 :(得分:1)
看起来根本不需要int指针。您要呼叫的mpv_set_option() API
实际上需要一个void *
。在Swift中,这被桥接为UnsafeRawPointer
。
我认为您可以直接传递&view
,它将自动桥接到UnsafeRawPointer
。但是,现在您必须要小心,因为必须确保VC的生存期至少与mpv
需要的生存期一样长。