创建一个应用程序

Estimated reading time: 1 minute

本部分描述如何创建应用程序。

BRAVIA商用显示器HTML5应用是基于HTML5规范的。 您可以通过使用基本功能和第三方库来开发应用程序,就像使用普通web应用程序一样。 当然,您可以使用您最喜欢的开发工具(如源代码编辑器、构建工具等)来实现这一点。

然而,也有一些技术限制。 请参阅 W3C HTML5 API获取有关支持信息的详细信息。

BRAVIA商用显示器还提供特定于供应商的功能。 本节将展示如何使用供应商定制的对象标记和JavaScript api实现应用程序。

定制对象标签

BRAVIA商用显示提供以下定制对象标签:

  • “应用/x-decimated-video”来播放HDMI视频
  • “应用/x-多播-视频”播放多播视频
  • “应用程式/x- 4K照片”显示4K图像

供应商定制的对象标记需要标记和JavaScript代码。

下面是“x-4k-photo”对象的示例。

“x-4k-photo”对象标签

请下载及摘录a sample application. 解压缩后,将文件如下所示。 并把文件如下所示。

USB: /sony/
          +--- autorun.txt
          +--- apps/webapps/high_quality_image/app/
                                                  +--- manifest.json
                                                  +--- doc/
                                                          +--- high_quality_image.html
                                                          +--- 4k_image.jpg
  1. 复制 'sony' 目录到USB存储的根目录。
  2. 连接USB存储到BRAVIA商用显示器。应用程序将被启动并显示一个应用程序。

本示例使用 <object type="application/x-4k-photo"> tag. 它还需要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');
  };

请参阅 Customized Object Tag 获取每个标记的详细信息。

JavaScript API

BRAVIA商用显示器提供了以下特定于供应商的JavaScript api: — sony.tv.DirectoryReader — sony.tv.systemevents — sony.tv.picturemode

下面是系统事件接口的一个示例。

系统事件接口

请下载 a sample application 并且提取。 并把文件如下所示。

USB: /sony/
          +--- autorun.txt
          +--- apps/webapps/systemevents/app/
                                            +--- manifest.json
                                            +--- doc/systemevents.html
  1. Copy the 'sony' directory to the root directory of a USB storage.
  2. Connect a USB storage to BRAVIA Professional Display. The application will be launched and show an application.

This sample uses the sony.tv.systemevents.addListener() and 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。 请访问JavaScript API了解每个API的详细信息。

Last modified: 10 Jun 2022