インターネットからのストリーミング オーディオを Java (主にインターネット ラジオ局) で再生する小さなアプリを作成しています。サウンドには JNA を使用する 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-java ライブラリを呼び出します。エラー メッセージは表示されますが、スレッドは引き続き実行され、CPU を占有します。
エラーをキャッチする方法、またはエラーが発生しないようにチェックを追加する方法はありますか?
別の方法として、「Gst.init()」をメイン クラスに配置することもできますが、これにより gstreamer ライブラリが初期化されることが常に保証されるかどうかはわかりません。