Image、Audio 及 Video Extenders 管理與程式設計

以使用者提供的屬性儲存物件

儲存影像、音效或視訊物件的格式不限於 Extender 所能瞭解的格式。您可以指定您自己的格式。 由於 Extender 並不瞭解該格式,因此您必須指定來源物件的屬性。請在某個屬性結構中指定屬性值。屬性結構必須儲存在 UDF 中的 LONG VARCHAR FOR BIT DATA 變數的資料欄位。

伺服器上的 UDF 碼會預期資料為"big endian 格式"。Big endian 格式是大部 份 UNIX 平台使用的格式。 若使用"little endian 格式"儲存某物件,您必須準 備使用者提供的屬性資料,以便伺服器上的 UDF 碼能夠正確處理該物件。 Little endian 格式是通常用於 Intel(R) 和其它微處理器平台的格式。 (即使您沒有使用 little endian 格式儲存物件,仍然建議您準備使用者提供的屬性資料。) 使用 DBiPrepareAttrs API 來準備影像物件的屬性。 使用 DBaPrepareAttrs API 來準備音效物件的屬性。 使用 DBvPrepareAttrs API 來準備視訊物件的屬性。

例如,下列在 C 應用程式中的陳述式會儲存一個將影像併入資料庫表格的橫列。位於伺服器檔案中的來源影像,其具有使用者定義的格式、高 640 圖點及寬 480 圖點。 請注意: 要在儲存影像之前準備屬性。

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
  struct {
       short len;
       char data[400];
       }hvImgattrs;
  EXEC SQL END DECLARE SECTION;
 
DB2IMAGEATTRS    *pimgattr;
 
hvStorageType=MMDB_STORAGE_TYPE_INTERNAL;
 
pimgattr = (DB2IMAGEATTRS *) hvImgattrs.data;
strcpy(pimgattr>format,"FormatI");
pimgattr>width=640;
pimgattr>height=480;
hvImgattrs.len=sizeof(DB2IMAGEATTRS);
 
DBiPrepareAttrs(pimgattr);
 
DBEXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
      DB2IMAGE(
         CURRENT SERVER,
          '/employee/images/ajones.bmp',
        :hvStorageType,
          'Anita''s picture',
          :hvImgattrs,                   /* user-specified attributes */
                 CAST(NULL as LONG VARCHAR)
       );

下列在 C 應用程式中的陳述式會儲存一個將音效片段併入資料庫表格的橫列。 來源音效片段位於伺服器檔案中,具有使用者定義的格式、取樣率 44.1 kHz, 並具有兩個記錄的通道。此音效片段不是 MIDI,所以請將磁軌名稱和樂器指定為空字串。

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
struct (
       short len;
       char data[600];
}hvAudattr;
  EXEC SQL END DECLARE SECTION;
 
MMDBAudioAttrs          *paudiattr;
 
hvStorageType=MMDB_STORAGE_TYPE_INTERNAL;
 
paudioattr=(MMDBAudioAttrs *) hvAudattr.data;
strcpy(paudioAttr>cFormat,"FormatA");
paudioAttr>ulSamplingRate=44100;
paudioAttr>usNumChannels=2;
hvAudattrs.len=sizeof(MMDBAudioAttrs);
 
DBaPrepareAttrs(paudioAttr);
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
      DB2AUDIO(
         CURRENT SERVER,
               '/employee/sounds/ajones.aud',
        :hvStorageType,
          'Anita''s voice',
          :hvAudattr)                   /* user-specified attributes */
       );


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]