2012-09-12 8 views
3

Mac 및 PC에서 간단한 미디어 플레이어 응용 프로그램을 개발할 때 VLCJ 라이브러리를 사용하고 있습니다. PC에서는 모든 미디어 파일이 원활하게 실행됩니다. Mac에서는 응용 프로그램을 실행할 때 (Mac .dylib 파일을 구성한 후) 응용 프로그램을 열었습니다. 진행 막대를 누르면 프레임이 제대로 표시되지만 실제로 파일을 재생하려고 할 때 다음과 같은 오류 : 나는 확실하지 않다하지만 나는이 오류의 핵심이라고 생각Mac에서 VLCJ를 사용할 때 오류가 발생했습니다.

/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 래퍼를 사용하고 있습니다.

누구든지이 문제에 대한 통찰력이 있다면 알려 주시기 바랍니다. 나는 며칠 동안이 오류에 갇혀 있었지만 여전히 그것을 파악하지 못했습니다.

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; 
} 

이 함수가 실패 :

감사합니다, 코드의 뒷조사 후 tamash

편집

, 나는 VLCJ에서 다음 코드는 오류를 일으키는 것을 발견 일부 구성 파일을로드 할 수 있습니다 (위의 오류 메시지에서 지적한 오류가 있기 때문에 의미가 있습니다 : "Fontconfig 오류 : 기본 구성 파일을로드 할 수 없음"). 어디서 Mac에서이 구성 파일을 찾을 수 있습니까? 그리고 어디서 불러 와야합니까?

+0

VLCJ 라이브러리는 항상 JNA 래퍼 (Java 언어)에서 VLC 동적 라이브러리 (libVLC)입니다. 마지막 편집 이후 코드가 VLCJ가 아니라고 생각합니다. 그것은 libVLC 그 자체 (C/C++ 언어에서)입니다. 다른 VLCJ 버전에는 다른 libVLC 버전이 필요합니다. 현재 Windows 및 OSX에서 사용중인 VLCJ 및 libVLC의 버전을 알 수 있습니까? JNA 버전도 함께 알려주십시오. http://code.google.com/p/vlcj/wiki/WhichVersion –

답변

0

이 버그에 대한 모든 문제는 libvlc 라이브러리가 Mac의 "/Library/Preferences/org.videolan.vlc"폴더 아래에있는 "vlcrc"파일을 찾고 있다는 것이 었습니다. 그러나, 또한 비디오 파일을 연 후, 나는 시작과 VLCJ 라이브러리에서 제공하는 내장 미디어 플레이어 구성 요소 일시 : 나는 시작시 일시 정지 할 수있는 영화를 원하기 때문에

mediaPlayer.start(); 
mediaPlayer.pause(); 

을하지만, 첫 번째 프레임이 표시 될 수 있습니다. 두 번째 줄을 주석 처리 한 후 작동했습니다.

관련 문제