我一直在努力与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
我通过这样做轻松检查了MIMEDescription。哪个返回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_INITIALIZE
我相信(据我所知)提供全局初始化(特别是对于NPNetscapeFuncs
和NPPluginFuncs
“实例”)。然后有趣的部分开始,我的猜测(我读到并理解,如果我错了,纠正我)是创建我的插件的实例(使用NPP_New)之后,设置我的窗口(使用NPP_SetWindow
)链接我的插件实例和我的窗口(例如来自Xlib
...)
答案 0 :(得分:1)
这正是我想要实现的目标。
http://blog.henryfan.net/post/2012/01/09/gtk%E6%92%AD%E6%94%BEflash.aspx
感谢那些写下来的人。