IBM Books

Image Extender、Audio Extender 和 Video Extender 管理和程序设计

指定 BLOB 或文件内容

可显示或播放以 BLOB 形式存储在数据库表中的对象, 也可播放其内容存储在文件中(并从数据库表中指向)的对象。若以 BLOB 形式存储对象,则指定 MMDB_PLAY_HANDLE。若对象内容存储在文件中,则指定 MMDB_PLAY_FILE。MMDB_PLAY_HANDLE 和 MMDB_PLAY_FILE 是由 Extender 定义的常量。

例如,C 应用程序中的以下语句播放其内容在文件中的视频:

rc = DBvPlay(
     "explore %s",
     MMDB_PLAY_FILE,                     /* content in file */
     "/Employee/Videos/ajones.mpg",
     MMDB_PLAY_NO_WAIT
     );

显示和播放程序通常接受来自文件的输入。若指定 MMDB_PLAY_FILE,则 Extender 将使用环境变量中的值来解析文件的相对文件名和路径。然后,Extender 启动浏览器并将文件名传送给它。若指定 MMDB_PLAY_HANDLE, 则 Extender 从句柄中抽取文件名(倘若文件名非空的话)。若句柄中的文件名为空, 则表示对象以 BLOB 形式存储。Extender 将在客户机中创建一个临时文件, 并将对象的内容从数据库表复制至该客户机文件。然后,Extender 将启动程序, 并将存放内容的文件(或临时文件)的名称传送给它。

例如,C 应用程序中的下列语句获取以 BLOB 形式存储的图象的句柄, 并使用该句柄来显示图象:

EXEC SQL BEGIN DECLARE SECTION;
char hvImg_hdl [251];
   EXEC SQL END DECLARE SECTION;
 
rc = DBiBrowse (
     "ib %s",
     MMDB_PLAY_HANDLE,                   /* content is BLOB */
     hvImg_hdl,
     MMDB_PLAY_NO_WAIT
     );

该内容必须是可存取的:确保显示或播放程序可存取对象内容。若内容在服务器文件中,但程序需要客户机上的内容, 则将该文件复制或客户机文件,并使用 Content UDF。若内容是以 BLOB 形式存储的,则 Extender 将自动将其检索至客户机。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]