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

デフォルトの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.