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

デフォルトの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レンダラの設定方法については、「Business Components for JavaフレームワークでのHTMLレンダラについて」を参照してください。)
  3. ビジネス・コンポーネント・プロジェクトおよびクライアント・プロジェクトを再ビルドし、カスタム・レンダラの動作を確認します。