我一直在为NPAPI寻找“好的”示例和“特定的”文档(在Unix上)而挣扎。我有我的libflashplayer.so,我可以在上面访问某些信息,这些信息是:

nm -D libflashplayer.so | more

00000000005cc4e0 T FlashPlayer_11_2_202_235_FlashPlayer
00000000005cc4a0 T Flash_DisableLocalSecurity
00000000005cc4c0 T Flash_EnforceLocalSecurity
00000000005ca870 T NP_GetMIMEDescription
00000000005ca850 T NP_GetValue
00000000005ca4d0 T NP_Initialize
00000000005ca4c0 T NP_Shutdown

我这样做很容易就查到了医学描述。这将返回flash MIME。
static char* (*mNP_GetMIMEDescription)(void);
//MAIN
lib = dlopen("./libflashplayer.so", RTLD_LAZY | RTLD_LOCAL);

*(void **) &mNP_GetMIMEDescription  = dlsym(lib, "NP_GetMIMEDescription");
fprintf(stderr, "NP_GetMIMEDescription=%p\n", mNP_GetMIMEDescription);
fprintf(stderr, "NP_GetMIMEDescription=%s\n", mNP_GetMIMEDescription());

//output
NP_GetMIMEDescription=0x7f2d2239f870
NP_GetMIMEDescription=application/x-shockwave-flash:swf:Shockwave Flash;application/futuresplash:spl:FutureSplash Player

现在,我真的不知道如何在Xlib窗口中呈现(或测试、打开swf文件)内容。
首先,我相信它(根据我的理解)提供了全局初始化(特别是对于NP_INITIALIZENPNetscapeFuncs“实例”)。然后有趣的部分开始了,我的猜测(根据我所读和理解的,如果我错了就纠正我)是创建我的插件的一个实例(使用NPP_New),然后,设置我的窗口(使用NPPluginFuncs)来链接我的插件实例和我的窗口(例如从NPP_SetWindow链接…)

最佳答案

这就是我想要实现的目标。
http://blog.henryfan.net/post/2012/01/09/gtk%E6%92%AD%E6%94%BEflash.aspx
多亏谁写下来的。

关于c - 使用NPAPI显示SWF文件(在Xlib上),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10502091/

10-13 05:13