カスタム・レンダラを使用したマルチメディア・コンテンツの表示

デフォルトのOracle interMedia表示レンダラ・クラスは、oracle.ord.html.OrdBuildURLRendererです。このクラスは、OrdImageDomainオブジェクトをHTML IMGタグとしてレンダリングし、その際ブラウザのウィンドウにイメージが収まるように幅と高さを調節します。また、OrdAudioDomain、OrdVideoDomainおよびOrdDocDomainをHTMLアンカー・タグとしてレンダリングします。アンカー・タグをクリックすると、マルチメディア・コンテンツがデータベースからブラウザにダウンロードされます。ダウンロードされたコンテンツの再生に使用されるメカニズムは、コンテンツのMIMETYPEとブラウザの構成によって決まります。

RealNetworks社のRealPlayerプラグインを使用してブラウザ上でビデオ・クリップを再生するなど、ビデオ・クリップのレンダリングを制御するには、独自のHTMLレンダラ・クラスを提供する必要があります。次の例は、RealPlayerプラグインを使用してビデオを再生するカスタム・レンダラ・クラスの記述方法を示しています。RealPlayerでコンテンツを再生できるように、interMediaデータベース・オブジェクトのMIMETYPEをaudio/x-pn-realaudio-pluginに設定する必要があります。




  package user;

  import oracle.jdeveloper.html.*;

  import oracle.ord.html.*;

  import oracle.jbo.*;

  import oracle.jbo.html.*;



  public class RealPlayerRenderer extends HTMLFieldRendererImpl

  {

    public String renderToString(Row row)

    {

     OrdURLBuilder builder = new OrdURLBuilder(getDatasource(), row, getFieldName());



     String sText =

        "<OBJECT ID=\"RVOCX\" classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\"\n" +

        "width=\"300\" height=\"200\">\n" +

        "<PARAM NAME=\"Src\" VALUE=\"" + builder.getOrdDomainURL() + "\">\n" +

        "<PARAM NAME=\"Controls\" VALUE=\"ImageWindow,ControlPanel\">\n" +

        "<PARAM NAME=\"Nojava\" VALUE=\"true\">\n" +

        "<Embed TYPE=\"audio/x-pn-realaudio-plugin\"\n" +

        "SRC=\"" + builder.getOrdDomainURL() + "\" width=\"300\" height=\"200\"\n" +

        "controls=\"ImageWindow,ControlPanel\" AutoStart=0" +

        " nojava=\"true\">\n" +

        "</embed> </OBJECT>";



     return sText;

    }

  }

    

カスタムのレンダラ・クラスを作成したら、次の操作を実行します。

  1. 作成したレンダラ・クラスをJSPクライアント・プロジェクトに追加します。
  2. RealPlayerRendererクラスをOrdVideoDomain属性に対する表示レンダラとして設定します。(HTMLレンダラの設定方法については、「ビジネス・コンポーネント・フレームワークでのHTMLレンダラについて」を参照してください。)
  3. ビジネス・コンポーネント・プロジェクトおよびクライアント・プロジェクトを再ビルドし、カスタム・レンダラの動作を確認します。

 

Copyright © 1997, 2004, Oracle.All rights reserved.