C NSView的libmpv intptr\t
我正在尝试在swift项目中使用libmpv。我把所有的事情都联系起来了,我试着遵循基本的原则 问题是,要显示视频,我必须将一个整数指针(intptr_t)传递给。在Objective-C中,这将按照上述示例进行:C NSView的libmpv intptr\t,c,swift,mpv,C,Swift,Mpv,我正在尝试在swift项目中使用libmpv。我把所有的事情都联系起来了,我试着遵循基本的原则 问题是,要显示视频,我必须将一个整数指针(intptr_t)传递给。在Objective-C中,这将按照上述示例进行: int64_t wid = (intptr_t) self->wrapper; 其中wrapper是视频播放器的包装视图。然而,由于swift并不打算使用指针,而且据我所知,包装器视图是一个视图,因此我不知道如何将其转换为swift 我尝试将NSView强制转换为Unsafe
int64_t wid = (intptr_t) self->wrapper;
其中wrapper是视频播放器的包装视图。然而,由于swift并不打算使用指针,而且据我所知,包装器视图是一个视图,因此我不知道如何将其转换为swift
我尝试将NSView强制转换为UnsafePointer
,如下所示
let t = UnsafePointer(&view)
然后将t
转换为intptr\t
或Int
,但此转换不起作用。它表示此值不能转换为Int
。
那么如何将视频播放器嵌入到快速视图中呢?看起来根本不需要int指针。您试图调用的函数实际上是一个
void*
。在Swift中,这被桥接为UnsafeRawPointer
我认为您可以直接传入
&view
,它应该自动连接到UnsafeRawPointer
。然而,现在你必须小心,因为你必须确保你的VC的生命周期至少与mpv
需要的时间一样长 我认为你是对的,至少我按照你的建议做了,而且我没有犯任何错误。然而,视频仍然无法播放,但我认为问题不在于我提出的问题。