IDiscFormat2TrackAtOnce::AddAudioTrack 메서드(imapi2.h)

데이터 스트림을 현재 미디어에 새 트랙으로 씁니다.

구문

HRESULT AddAudioTrack(
  [in] IStream *data
);

매개 변수

[in] data

미디어에서 다음 트랙으로 쓸 오디오 데이터의 IStream 인터페이스입니다.

데이터 형식에는 44.1KHz, 16비트 스테레오, 원시 오디오 샘플이 포함되어 있습니다. 이 형식은 Microsoft WAV 오디오 파일의 오디오 샘플에서 헤더 없이 사용하는 것과 동일한 형식입니다.

반환 값

S_OK 성공에 따라 반환되지만 구현의 결과로 다른 성공 코드가 반환될 수 있습니다. 다음 오류 코드는 일반적으로 작업 실패 시 반환되지만 가능한 오류 값만 나타내지 않습니다.

반환 코드 설명
E_POINTER
포인터가 잘못되었습니다.

값: 0x80004003

E_IMAPI_DF2TAO_MEDIA_IS_NOT_PREPARED
요청된 작업은 미디어가 "준비"된 경우에만 유효합니다.

값: 0xC0AA0502

E_IMAPI_DF2TAO_WRITE_IN_PROGRESS
현재 쓰기 작업이 진행 중입니다.

값: 0xC0AA0500

E_IMAPI_DF2TAO_TRACK_LIMIT_REACHED
CD-R 및 CD-RW 미디어는 최대 99개 오디오 트랙을 지원합니다.

값: 0xC0AA0508

E_IMAPI_DF2TAO_STREAM_NOT_SUPPORTED
제공된 오디오 스트림이 잘못되었습니다.

값: 0xC0AA050D

E_IMAPI_DF2TAO_NOT_ENOUGH_SPACE
제공된 오디오 트랙을 추가할 공간이 미디어에 남아 있지 않습니다.

값: 0xC0AA0509

E_FAIL
지정되지 않은 오류입니다.

값: 0x80004005

E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.

값: 0x80070057

E_OUTOFMEMORY
필요한 메모리를 할당하지 못했습니다.

값: 0x8007000E

E_IMAPI_RECORDER_COMMAND_TIMEOUT
디바이스가 시간 제한 기간 내에 명령을 수락하지 못했습니다. 이는 디바이스가 일관되지 않은 상태를 입력했거나 명령에 대한 시간 제한 값을 늘려야 할 수 있으므로 발생할 수 있습니다.

값: 0xC0AA020D

E_IMAPI_RECORDER_INVALID_RESPONSE_FROM_DEVICE
디바이스가 명령에 대해 예기치 않거나 잘못된 데이터를 보고했습니다.

값: 0xC0AA02FF

E_IMAPI_RECORDER_MEDIA_UPSIDE_DOWN
미디어가 거꾸로 삽입됩니다.

값: 0xC0AA0204

E_IMAPI_RECORDER_MEDIA_BECOMING_READY
드라이브가 준비 중이라고 보고했습니다. 나중에 요청을 다시 시도하세요.

값: 0xC0AA0205

E_IMAPI_RECORDER_MEDIA_NO_MEDIA
디바이스에 미디어가 없습니다.

값: 0xC0AA0202

E_IMAPI_RECORDER_MEDIA_FORMAT_IN_PROGRESS
미디어 형식이 현재 지정되고 있습니다. 미디어 사용을 시도하기 전에 형식이 완료되기를 기다립니다.

값: 0xC0AA0206

E_IMAPI_RECORDER_MEDIA_BUSY
드라이브는 쓰기 완료와 같은 장기 실행 작업을 수행하고 있다고 보고했습니다. 오랜 시간 동안 드라이브를 사용할 수 없습니다.

값: 0xC0AA0207

E_IMAPI_LOSS_OF_STREAMING
드라이브가 쓰기를 계속할 수 있을 만큼 빠르게 데이터를 받지 못했기 때문에 쓰기가 실패했습니다. 원본 데이터를 로컬 컴퓨터로 이동하거나, 쓰기 속도를 줄이거나, "버퍼 언더런 무료" 설정을 사용하도록 설정하면 이 문제가 resolve 수 있습니다.

값: 0xC0AA0300

E_IMAPI_RECORDER_MEDIA_INCOMPATIBLE
미디어가 호환되지 않거나 알 수 없는 물리적 형식입니다.

값: 0xC0AA0203

E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT
DVD 구조가 없습니다. 이는 호환되지 않는 드라이브/매체 사용으로 인해 발생할 수 있습니다.

값: 0xC0AA020E

E_IMAPI_RECORDER_NO_SUCH_MODE_PAGE
디바이스에서 요청된 모드 페이지(및 형식)가 없다고 보고했습니다.

값: 0xC0AA0201

E_IMAPI_RECORDER_INVALID_MODE_PARAMETERS
드라이브는 MODE SELECT 명령에 대한 모드 페이지에 제공된 매개 변수의 조합이 지원되지 않는다고 보고했습니다.

값: 0xC0AA0208

E_IMAPI_RECORDER_MEDIA_WRITE_PROTECTED
드라이브는 미디어가 쓰기 보호되었다고 보고했습니다.

값: 0xC0AA0209

E_IMAPI_RECORDER_MEDIA_SPEED_MISMATCH
미디어의 속도는 디바이스와 호환되지 않습니다. 이는 디바이스에서 지원하는 속도 범위보다 높거나 낮은 속도 미디어를 사용하여 발생할 수 있습니다.

값: 0xC0AA020F

HRESULT_FROM_WIN32(ERROR_INVALID_HANDLE)
지정한 핸들이 잘못되었습니다.

값: 6

HRESULT_FROM_WIN32(ERROR_DEV_NOT_EXIST)
지정된 네트워크 리소스 또는 디바이스를 더 이상 사용할 수 없습니다.

값: 55

E_IMAPI_RECORDER_LOCKED
마지막 작업 중에 이 레코더와 연결된 디바이스가 단독으로 잠겨 이 작업이 실패했습니다.

값: 0xC0AA0210

E_IMAPI_REQUEST_CANCELLED
요청이 취소되었습니다.

값: 0xC0AA0002

설명

이 메서드를 호출하기 전에 IDiscFormat2TrackAtOnce::p ut_RecorderIDiscFormat2TrackAtOnce::P repareMedia 메서드를 호출해야 합니다.

기본값이 애플리케이션에 적합하지 않은 경우 다음 메서드를 호출하는 것도 고려해야 합니다.

쓰기 작업의 진행률을 확인하려면 DDiscFormat2TrackAtOnceEvents 인터페이스를 구현해야 합니다. 스크립트에서 이벤트 처리기를 구현하는 방법을 보여 주는 예제는 이벤트 로 진행률 모니터링을 참조하세요.

미디어는 99 트랙의 오디오 데이터를 수용할 수 있습니다. 추적 번호 매기기는 1에서 시작합니다. 마지막 트랙은 99입니다.

무음 또는 0이 포함된 데이터 샘플은 다음과 같은 방법으로 트랙 쓰기 작업에 추가됩니다.

  • 최소 트랙 크기는 4초이며 필요한 경우 이 요구 사항에 맞게 트랙 데이터가 확대됩니다.
  • 한 번에 트랙 녹음의 특성으로 인해 연속 오디오 트랙 사이에 2초 간격이 추가됩니다. 이 격차는 일반적으로 PC 기반 플레이어에 의해 숨겨져 있지만 일부 소비자 가전 장비에서 눈에 띄는 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista, WINDOWS XP SP2 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 imapi2.h

참고 항목

IDiscFormat2TrackAtOnce

IDiscFormat2TrackAtOnce::CancelAddTrack