1

私は、「良い」例と「特定の」ドキュメント (Unix 上) のために NPAPI に苦労してきました。私は、次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 を簡単に確認できました。フラッシュ 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たとえば...)

4

1 に答える 1

1

これはまさに私が達成したいことです。

http://blog.henryfan.net/post/2012/01/09/gtk%E6%92%AD%E6%94%BEflash.aspx

それを書き留めた人に感謝します。

于 2012-05-09T16:15:59.647 に答える