2010-03-08 6 views
2

자바 (주로 인터넷 라디오 방송국)의 인터넷에서 스트리밍 오디오를 재생하는 작은 응용 프로그램을 만들고 있습니다. JNA를 사용하는 사운드 용 gstreamer-java 라이브러리를 사용하기로 결정했습니다.Java 및 gstreamer-java 초기화 오류

gstreamer 라이브러리가 초기화되었는지 확인하려면 코드에 체크를 포함시키고 싶습니다. 나는 남아있는 경우 "Gst.init()", 응용 프로그램에 다음과 같은 메시지를 밖으로 던져 (라이브러리가 제대로 초기화되지 않은 경우 모방하는) 밖으로 코드 :

(process:21888): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.22.3/gobject/gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function 
(process:21888): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed 

이 앱이 gstreamer를-자바 라이브러리를 호출을 . 오류 메시지가 나타나지만 스레드가 계속 실행되어 CPU를 호깅합니다.

오류를 발견하거나 오류를 방지하는 방법이 있습니까?

다른 방법으로는 "Gst.init()"를 메인 클래스에 넣는 것이지만 gstreamer 라이브러리가 항상 초기화되도록 보장 할 지 확신 할 수 없습니다.

답변

0

javadoc에 따르면 Gst.init()는 GstException을 throw 할 수 있습니다. 다음 표현식은 무엇입니까? :

try { 
    Gst.init(); 
} catch (GstException ex) { 
    logger.log(Level.SEVERE, "Ошибка инициализации gstreamer!!!"); 
}