Mac および PC で単純なメディア プレーヤー アプリケーションを開発するために VLCJ ライブラリを使用しています。PC では、すべてのメディア ファイルがスムーズに動作します。Mac でアプリケーションを実行すると (Mac .dylib ファイルを構成した後)、アプリケーションを開くことができ、プログレス バーを押すとフレームが正しく表示されますが、実際にファイルを再生したい場合は、次のようになります。エラー:
/Users/ronenshani/Desktop/Cinenote/CineNotes/resources/icons/control_start_blue.png/Users/ronenshani/Desktop/Cinenote/CineNotes/resources/icons/control_rewind_blue.png/Users/ronenshani/Desktop/Cinenote/CineNotes/resources/icons/control_fastforward_blue.png/Users/ronenshani/Desktop/Cinenote/CineNotes/resources/icons/control_end_blue.pngSep 12 13:48:59 Ronens-MacBook-Pro.local java[59043] <Error>: CGContextGetCTM: invalid context 0x0
Sep 12 13:48:59 Ronens-MacBook-Pro.local java[59043] <Error>: CGContextSetBaseCTM: invalid context 0x0
Sep 12 13:48:59 Ronens-MacBook-Pro.local java[59043] <Error>: CGContextGetCTM: invalid context 0x0
Sep 12 13:48:59 Ronens-MacBook-Pro.local java[59043] <Error>: CGContextSetBaseCTM: invalid context 0x0
mediaChanged
opening
playing
paused
Fontconfig error: Cannot load default config file
Fontconfig error: Cannot load default config file
Fontconfig error: Cannot load default config file
[0x7faeb4413f50] main vout display error: option macosx-video-autoresize does not exist
2012-09-12 13:49:18.133 java[59043:407] -[CocoaAppWindow isFullscreen]: unrecognized selector sent to instance 0x7faeaa4aba90
2012-09-12 13:49:18.134 java[59043:407] -[CocoaAppWindow isFullscreen]: unrecognized selector sent to instance 0x7faeaa4aba90
2012-09-12 13:49:18.166 java[59043:407] (
0 CoreFoundation 0x00007fff8dcf6f56 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff8db84d5e objc_exception_throw + 43
2 CoreFoundation 0x00007fff8dd831be -[NSObject doesNotRecognizeSelector:] + 190
3 CoreFoundation 0x00007fff8dce3e23 ___forwarding___ + 371
4 CoreFoundation 0x00007fff8dce3c38 _CF_forwarding_prep_0 + 232
5 libvout_macosx_plugin.dylib 0x0000000123affc21 -[VLCOpenGLVideoView setWindowFrameWithValue:] + 49
6 CoreFoundation 0x00007fff8dce670d -[NSObject performSelector:withObject:] + 61
7 Foundation 0x00007fff8eba6d70 __NSThreadPerformPerform + 214
8 CoreFoundation 0x00007fff8dc654f1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
9 CoreFoundation 0x00007fff8dc64d5d __CFRunLoopDoSources0 + 253
10 CoreFoundation 0x00007fff8dc8bb49 __CFRunLoopRun + 905
11 CoreFoundation 0x00007fff8dc8b486 CFRunLoopRunSpecific + 230
12 HIToolbox 0x00007fff868174d3 RunCurrentEventLoopInMode + 277
13 HIToolbox 0x00007fff8681e781 ReceiveNextEventCommon + 355
14 HIToolbox 0x00007fff8681e60e BlockUntilNextEventMatchingListInMode + 62
15 AppKit 0x00007fff83befe31 _DPSNextEvent + 659
16 AppKit 0x00007fff83bef735 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
17 libawt.jnilib 0x0000000118bdcfe3 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 124
18 AppKit 0x00007fff83bec071 -[NSApplication run] + 470
19 libawt.jnilib 0x0000000118bdb694 +[AWTStarter startAWT:] + 1495
20 libawt.jnilib 0x0000000118bdb00e -[CPerformer perform] + 93
21 CoreFoundation 0x00007fff8dce670d -[NSObject performSelector:withObject:] + 61
22 Foundation 0x00007fff8eba6d70 __NSThreadPerformPerform + 214
23 CoreFoundation 0x00007fff8dc654f1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
24 CoreFoundation 0x00007fff8dc64d5d __CFRunLoopDoSources0 + 253
25 CoreFoundation 0x00007fff8dc8bb49 __CFRunLoopRun + 905
26 CoreFoundation 0x00007fff8dc8b486 CFRunLoopRunSpecific + 230
27 java 0x000000010fa3a843 java + 18499
28 java 0x000000010fa3a29a java + 17050
29 java 0x000000010fa37a98 java + 6808
)
playingAssertion failed: (p->pause_date != VLC_TS_INVALID), function aout_PacketPause, file ../../extras/package/macosx/../../../src/audio_output/output.c, line 431.
よくわかりませんが、これがエラーの核心だと思います:
[0x7faeb4413f50] main vout display error: option macosx-video-autoresize does not exist
2012-09-12 13:49:18.133 java[59043:407] -[CocoaAppWindow isFullscreen]: unrecognized selector sent to instance 0x7faeaa4aba90
2012-09-12 13:49:18.134 java[59043:407] -[CocoaAppWindow isFullscreen]: unrecognized selector sent to instance 0x7faeaa4aba90
アプリケーションは libvlc ライブラリにアクセスするために VLCJ ラッパーを使用しています。
誰かがこの問題について洞察を持っている場合は、私に知らせてください。私はこのエラーで数日間立ち往生していますが、まだ理解できていません。
ありがとう、タマシュ
編集
コードを掘り下げた後、VLCJ の次のコードがエラーの原因であることがわかりました。
static inline char * __config_GetLabel( vlc_object_t *p_this, const char *psz_name )
{
module_config_t *p_config;
**p_config = config_FindConfig( p_this, psz_name );**
/* sanity checks */
if( !p_config )
{
msg_Err( p_this, "option %s does not exist", psz_name );
return NULL;
}
if ( p_config->psz_longtext )
return p_config->psz_longtext;
else if( p_config->psz_text )
return p_config->psz_text;
else
msg_Warn( p_this, "option %s does not include any help", psz_name );
return NULL;
}
また、この関数は一部の構成ファイルのロードに失敗します (上記のエラー メッセージで指摘されたいくつかのエラーがあるため、これは理にかなっています:「Fontconfig エラー: デフォルトの構成ファイルを読み込めません」)。これらの構成ファイルは Mac のどこにありますか? また、どこにロードすればよいですか?