デフォルトの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;
}
}
カスタムのレンダラ・クラスを作成したら、次の操作を実行します。