アプリの開発
Estimated reading time: 1 minute
ここではアプリケーションの作成方法についてご紹介します。
法人向け ブラビア がサポートする HTML5 アプリは、一般的な HTML5 仕様に基づいています。 そのため、一般的なアプリと同じように、基本機能とサードパーティのライブラリを使用してアプリケーションを開発することができます。 もちろん、ソースコードエディタ、ビルドツールなどの開発ツールもお気に入りのものが使用できます。
ただし、技術的な制限がいくつかあるため、技術情報の詳細については W3C HTML5 API をご確認ください。
また、法人向け ブラビア は拡張したオブジェクトタグと JavaScript API を提供しています。 ここではこれらを使用してアプリケーションを実現する方法の例を示します。
拡張オブジェクトタグ
ディスプレイは以下の拡張したオブジェクトタグを提供します:
- HDMI 入力埋め込みのための
"application/x-decimated-video"
- マルチキャストビデオ再生のための
"application/x-multicast-video"
- 高品質画像表示のための
"application/x-4k-photo"
拡張オブジェクトタグには、タグと JavaScript コードの両方が必要です。
以下に x-4k-photo
オブジェクトタグのサンプルを示します。
“x-4k-photo” オブジェクトタグ
サンプルアプリケーション をダウンロード、解凍し、以下のようにファイルを置きます。
USB: /sony/
+--- autorun.txt
+--- apps/webapps/high_quality_image/app/
+--- manifest.json
+--- doc/
+--- high_quality_image.html
+--- 4k_image.jpg
"sony"
ディレクトリを USB メモリのルートディレクトリにコピーします。- USB メモリをディスプレイに挿入することで、アプリケーションを起動・表示します。
このサンプルでは x-4k-photo
タグを使用しており、JavaScript コードも必要です。
<object class="hq-img" id="hq-img" type="application/x-4k-photo" width="100%" height="100%"></object>
window.onload = function() {
var object = document.getElementById('hq-img');
object.open();
object.onpreload = function(url, result) {
object.show(url);
};
object.preload('4k_image.jpg');
};
各タグの詳細については、拡張オブジェクトタグ をご覧ください。
JavaScript API
ディスプレイは、以下の拡張 JavaScript API も提供しています。
sony.tv.DirectoryReader
sony.tv.systemevents
sony.tv.picturemode
以下に SystemEvents
インターフェースのサンプルを示します。
SystemEvents インターフェース
サンプルアプリケーション をダウンロード、解凍し、以下のようにファイルを置きます。
USB: /sony/
+--- autorun.txt
+--- apps/webapps/systemevents/app/
+--- manifest.json
+--- doc/systemevents.html
"sony"
ディレクトリを USB メモリのルートディレクトリにコピーします。- USB メモリをディスプレイに挿入することで、アプリケーションが起動・表示されます。
このサンプルは sony.tv.systemevents.addListener()
、sony.tv.systemevents.removeListener()
を使用しています。
// system event handler
function onNetworkStatusChanged(event){
printResult("eventMessage.connectionInfo.netif = " + event.eventMessage.connectionInfo.netif);
printResult("eventMessage.connectionInfo.errorDetail = " + event.eventMessage.connectionInfo.errorDetail);
}
// add/remove system event listener
function addListenerNetworkStatusChanged(){
sony.tv.systemevents.addListener('networkStatusChanged', onNetworkStatusChanged);
}
function removeListenerNetworkStatusChanged(){
sony.tv.systemevents.removeListener('networkStatusChanged', onNetworkStatusChanged);
}
ベンダーの拡張オブジェクトタグ・JavaScript API は簡単に使用することができます。 各 API の詳細については JavaScript API をご覧ください。