IDiscFormat2TrackAtOnce::AddAudioTrack 方法 (imapi2.h)
将数据流作为新轨迹写入当前媒体。
语法
HRESULT AddAudioTrack(
[in] IStream *data
);
parameters
[in] data
要作为媒体上下一曲目写入的音频数据的 IStream 接口。
数据格式包含 44.1KHz、16 位立体声原始音频样本。 这是 Microsoft WAV 音频文件中音频示例使用的相同格式, (没有标头) 。
返回值
S_OK成功后返回,但其他成功代码可能由于实现而返回。 以下错误代码通常在操作失败时返回,但不表示唯一可能的错误值:
返回代码 | 说明 |
---|---|
|
指针无效。
值:0x80004003 |
|
仅当媒体已“准备好”时,请求的操作才有效。
值:0xC0AA0502 |
|
当前正在进行写入操作。
值:0xC0AA0500 |
|
CD-R 和 CD-RW 媒体最多支持 99 个音频曲目。
值:0xC0AA0508 |
|
提供的音频流无效。
值:0xC0AA050D |
|
媒体上没有足够的空间来添加提供的音轨。 值:0xC0AA0509 |
|
未知故障。
值:0x80004005 |
|
一个或多个参数无效。
值:0x80070057 |
|
未能分配所需的内存。
值:0x8007000E |
|
设备未能在超时期限内接受命令。 这可能是由于设备进入了不一致状态,或者可能需要增加命令的超时值。
值:0xC0AA020D |
|
设备报告了命令的意外或无效数据。
值:0xC0AA02FF |
|
媒体是倒置插入的。
值:0xC0AA0204 |
|
驱动器报告它正在准备就绪。 请稍后重试请求。
值:0xC0AA0205 |
|
设备中没有媒体。
值:0xC0AA0202 |
|
媒体当前正在格式化。 请等待格式完成,然后再尝试使用媒体。
值:0xC0AA0206 |
|
驱动器报告它正在执行长时间运行的操作,例如完成写入。 驱动器可能长时间不可用。
值:0xC0AA0207 |
|
写入失败,因为驱动器接收数据的速度不够快,无法继续写入。 将源数据移动到本地计算机、降低写入速度或启用“缓冲区不足可用”设置可以解决此问题。
值:0xC0AA0300 |
|
媒体不兼容或物理格式未知。
值:0xC0AA0203 |
|
不存在 DVD 结构。 这可能是由于使用的驱动器/介质不兼容造成的。
值:0xC0AA020E |
|
设备报告请求的模式页 (不存在,类型) 不存在。
值:0xC0AA0201 |
|
驱动器报告不支持 MODE SELECT 命令的模式页中提供的参数组合。
值:0xC0AA0208 |
|
驱动器报告媒体受到写入保护。
值:0xC0AA0209 |
|
媒体的速度与设备不兼容。 这可能是由于使用高于或低于设备支持的速度范围的媒体造成的。
值:0xC0AA020F |
|
指定的句柄无效。
值:6 |
|
指定的网络资源或设备不再可用。
值:55 |
|
上次操作期间与此记录器关联的设备已被独占锁定,导致此操作失败。
值:0xC0AA0210 |
|
请求已被取消。
值:0xC0AA0002 |
注解
在调用此方法之前,必须调用 IDiscFormat2TrackAtOnce::p ut_Recorder 和 IDiscFormat2TrackAtOnce::P repareMedia 方法。
如果以下方法的默认值不适合应用程序,则还应考虑调用这些方法:
- IDiscFormat2TrackAtOnce::p ut_BufferUnderrunFreeDisabled
- IDiscFormat2TrackAtOnce::p ut_ClientName
- IDiscFormat2TrackAtOnce::p ut_DoNotFinalizeMedia
媒体可以容纳 99 曲目音频数据。 跟踪编号从 1 开始。 最后一个曲目是 99。
沉默或包含零的数据样本将通过以下方式添加到跟踪写入操作:
- 最小轨道大小为 4 秒,如果需要,将扩大轨道数据以满足此要求。
- 由于一次录制轨道的性质,在连续的音轨之间增加了两秒的间隔。 这种差距通常被基于电脑的玩家所隐藏,但在一些消费电子设备上可能很明显。
要求
最低受支持的客户端 | Windows Vista、Windows XP 和 SP2 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | imapi2.h |