Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C NSView的libmpv intptr\t_C_Swift_Mpv - Fatal编程技术网

C NSView的libmpv intptr\t

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

我正在尝试在swift项目中使用libmpv。我把所有的事情都联系起来了,我试着遵循基本的原则

问题是,要显示视频,我必须将一个整数指针(intptr_t)传递给。在Objective-C中,这将按照上述示例进行:

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
需要的时间一样长

我认为你是对的,至少我按照你的建议做了,而且我没有犯任何错误。然而,视频仍然无法播放,但我认为问题不在于我提出的问题。