图象 | 音频 | 视频 |
---|---|---|
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--)---------------------------------------------------><
参数(数据类型)
返回值(数据类型)
音频的句柄 (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) );