Java TV は、 Xletと呼ばれるコンポーネントに基づいてTVセットトップ ボックスで使用するために設計されたJavaベースのソフトウェア フレームワークです。現在は、 Connected Device Configurationでのみ使用され、特にiTVアプリケーションの開発に使用されます。
APIには、javax.tv.xletパッケージ内のXletクラスが含まれています。パブリックAPIの他のパッケージには、次のものがあります。
- javax.tv.graphics - シンプルなレンダリングキャンバスを提供します
- javax.tv.locator - service:/SERV1 などのサービスとメディアのURL形式のロケータを提供します。
- javax.tv.service - 再生可能な TV チャンネルやメディアなどの SI 要素を表すサービス情報 (SI) データベースと API のメカニズムを定義します。
批判
このフレームワークは汎用的ですが、 Sun は現在Java MEでのみサポートを提供しています。メディア ロケータなどの一部の主題については、事実上、 BD-Jなどのプラットフォーム上の他のロケータ標準に置き換えられています。
混乱の要因としては、2008 年現在サポートされているプラットフォームでは、2001 年頃に書かれた API の紹介にある SvcDispXlet の例などは、 java.awt.Button などのAWTウィジェットを使用しているため、デプロイできないことが挙げられます。ほとんどの iTV プラットフォームは、BD-J と同様に、ウィジェットを含む Personal Profile ではなく、AWT ウィジェットのない Personal Basis Profile を実装しています。[1]
Sun の Java TV リファレンス実装は、内部的に「jmflite」と呼ばれる独自の JMF の小さなバージョンを用意することで、サポートの問題にさらされる可能性をJava Media Framework全体に制限しようとしています。Sun が提供するMIDPエミュレータの制限と同様に、Sun が提供する Java TV リファレンス実装は、Thread.stop() の呼び出しを削除するなど、後の JDK に対応するように更新されていません。Thread.stop() メソッドは、Java 1.5 で「final」メソッドになりました (つまり、Thread を拡張して stop() をオーバーライドするクラスは、クラスがロードされると、JRE 1.5 で実行時に失敗します)。これは、Sun がまだ Java ME を JRE 1.3 より上位にするための計画やロードマップを公開していないことを意味します。このようなアップグレードが行われると、Java ME 対応デバイスのすべてのベンダーが多大な作業を行う必要があります。[2] [3]
参照
外部リンク
- Java ME テクノロジー - Java TV API - Sun のリファレンス実装を含む
- Java TV API 1.1 (JSR-927) オンライン Javadoc
- JavaTVチュートリアル
参考文献
- ^ デジタル TV アプリケーション プログラミング入門 Monica Pawlan 著、2001 年 2 月
- ^ JRE 1.5 Thread.stop() javadoc
- ^ Thread.stop、Thread.suspend、Thread.resume、Runtime.runFinalizersOnExit が非推奨になったのはなぜですか?
