2024-10-06 07:46:49 发布
网友
我正在调用一个名为avformat\u alloc\u context()的FFMPEG库,该库返回指向AVFormatContext类型的指针。结构AVFormatContext在avformat库中定义。你知道吗
显然,这不是一个ctypes默认类型,当我试图将对它的引用传递到代码中更深层的另一个ffmpeg库时会导致错误。你知道吗
有没有一种方法可以添加到库中定义的类中?我通读了网上能找到的文档,却找不到这个问题的好答案。你知道吗
首先需要将AVFormatContext结构转换为ctypes声明。你可以通过deriving from the ^{} class来实现。你知道吗
AVFormatContext
然后需要指定avformat_alloc_context函数返回指向该结构的指针。指定restype执行此操作:
avformat_alloc_context
restype
avformat_alloc_context.restype = POINTER(AVFormatContext)
然后可以这样调用函数:
contextPtr = avformat_alloc_context()
要获取指针的内容,请读取contents属性:
contents
context = contextPtr.contents
完成指针后,不要忘记调用avformat_free_context()。你知道吗
avformat_free_context()
这些信息在ctypesdocumentation中有更详细的介绍。你知道吗
首先需要将} class 来实现。你知道吗
AVFormatContext
结构转换为ctypes声明。你可以通过deriving from the ^{然后需要指定
avformat_alloc_context
函数返回指向该结构的指针。指定restype
执行此操作:然后可以这样调用函数:
要获取指针的内容,请读取
contents
属性:完成指针后,不要忘记调用
avformat_free_context()
。你知道吗这些信息在ctypesdocumentation中有更详细的介绍。你知道吗
相关问题 更多 >
编程相关推荐