IBM Books

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

DB2Audio


图象 音频 视频
  X  

将音频的内容存储在数据库表中。音频源可以在客户机 缓冲区、客户机文件或服务器文件中。可将音频以 BLOB 形式存储在数据库表中, 或存储在服务器文件中(由数据库表引用)。音频源可处于受支持的格式,在这种情况下,DB2Audio Extender 标识其存储属性, 也可处于不受支持的格式,在这种情况下,必须在 UDF 中指定属性。

包含文件

dmbaudio.h

语法

从缓冲区或客户机 文件存储内容

>>-DB2Audio--(--dbname--,--content--,--format--,---------------->
 
>----target_file--,--comment--)--------------------------------><
 

语法

从服务器文件存储内容

>>-DB2Audio--(--dbname--,--source_file--,--format--,--stortype--,-->
 
>---comment--)-------------------------------------------------><
 

语法

从缓冲区或客户机文件存储具有用户提供的属性的内容

>>-DB2Audio--(--dbname--,--content--,--target_file--,----------->
 
>----comment--,--attrs--)--------------------------------------><
 

语法

从服务器文件存储具有用户提供的属性的内容

>>-DB2Audio--(--dbname--,--source_file--,--stortype--,--comment--,-->
 
>---attrs--)---------------------------------------------------><
 

参数(数据类型)

dbname (VARCHAR(18))
当前连接的数据库的名称,由 CURRENT SERVER 专用寄存器指示。

content (BLOB(2G) AS LOCATOR)
包含音频的内容的主变量。主变量的类型可以是 BLOB、BLOB_FILE 或 BLOB_LOCATOR。DB2 将内容的数据类型提升为 BLOB_LOCATOR,并将 LOB 定位器传送至 DB2Audio UDF。

format (VARCHAR(8))
源音频的格式。可指定空值或空字符串,在这种情况下,Audio Extender 将试图自动确定源格式。将把音频存储成与其源的格式相同。参见表 4 以获取受支持的音频格式。

target_file (LONG VARCHAR)
目标服务器文件的名称(对于存储至服务器文件), 或是空值或空字符串(对于以 BLOB 形式存储到数据库表中)。目标文件可以是全限定名。若未限定名称, 则使用服务器上的 DB2AUDIOSTORE 和 DB2MMSTORE 环境变量来找出该文件。

source_file (LONG VARCHAR)
源服务器文件的名称。源文件名可以是全限定名或未限定名;但不能是空值或空字符串。若未限定名称, 则使用服务器上的 DB2AUDIOPATH 和 DB2MMPATH 环境变量来找出该文件。

stortype (INTEGER)
指示将在何处存储音频的值。常量 MMDB_STORAGE_TYPE_INTERNAL(值=1) 指示将把音频以 BLOB 形式存储在数据库中; 常量 MMDB_STORAGE_TYPE_EXTERNAL(值=0) 指示将把音频内容存储在(数据库中指向的)服务器文件中。

comment (LONG VARCHAR)

要与音频存储在一起的注解。

attrs (LONG VARCHAR FOR BIT DATA)
音频的属性。

返回值(数据类型)

音频的句柄 (DB2AUDIO)

将包括 Anita Jones 的音频剪辑的记录插入到 Employee 表中。音频源在客户机缓冲区中。将音频剪辑以 BLOB 形式存储在表中:

EXEC SQL BEGIN DECLARE SECTION;
     SQL TYPE IS BLOB (5M) aud_seg;
   EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
               DB2AUDIO(
         CURRENT SERVER,
         :aud_seg,
         'WAVE',
         CAST(NULL as LONG VARCHAR),
         
         'Anita''s voice'));

将包括 Robert Smith 的音频剪辑的记录插入到 Employee 表中。音频源在服务器文件中。Employee 表记录将指向该文件。

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
   EXEC SQL END DECLARE SECTION;
 
hvStorageType = MMDB_STORAGE_TYPE_EXTERNAL;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '384779',
      'Robert Smith',
               DB2AUDIO(
         CURRENT SERVER,
         '/Employee/Sounds/rsmith.wav',
         'WAV',
         :hvStorageType,
         'Robert''s voice'));

将包括 Anita Jones 的音频剪辑的记录插入到 Employee 表中。以 BLOB 形式存储音频剪辑。服务器文件中的源音频剪辑具有用户定义的格式, 采样速率为 44.1 KHz,并有两个录制声道。

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,"cFormatA");
paudioAttr>ulSamplingRate=44100;
paudioAttr>usNumChannels=2;
hvAudattrs.len=sizeof(MMDBAudioAttrs);
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
               DB2AUDIO(
         CURRENT SERVER,
               '/Employee/Sounds/ajones.aud',
         :hvStorageType,
               'Anita"s voice',
               :hvAudattr)
       );


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