Compartilhar via


Método IDiscFormat2TrackAtOnce::AddAudioTrack (imapi2.h)

Grava o fluxo de dados na mídia atual como uma nova faixa.

Sintaxe

HRESULT AddAudioTrack(
  [in] IStream *data
);

Parâmetros

[in] data

Uma interface IStream dos dados de áudio a serem gravados como a próxima faixa na mídia.

O formato de dados contém 44,1 KHz, amostras de áudio bruto estéreo de 16 bits. Esse é o mesmo formato usado pelos exemplos de áudio em um arquivo de áudio WAV da Microsoft (sem o cabeçalho).

Valor retornado

S_OK é retornado com êxito, mas outros códigos de êxito podem ser retornados como resultado da implementação. Os seguintes códigos de erro normalmente são retornados em caso de falha na operação, mas não representam os únicos valores de erro possíveis:

Código de retorno Descrição
E_POINTER
O ponteiro não é válido.

Valor: 0x80004003

E_IMAPI_DF2TAO_MEDIA_IS_NOT_PREPARED
A operação solicitada só é válida quando a mídia foi "preparada".

Valor: 0xC0AA0502

E_IMAPI_DF2TAO_WRITE_IN_PROGRESS
Atualmente, há uma operação de gravação em andamento.

Valor: 0xC0AA0500

E_IMAPI_DF2TAO_TRACK_LIMIT_REACHED
A mídia CD-R e CD-RW dá suporte a no máximo 99 faixas de áudio.

Valor: 0xC0AA0508

E_IMAPI_DF2TAO_STREAM_NOT_SUPPORTED
O fluxo de áudio fornecido não é válido.

Valor: 0xC0AA050D

E_IMAPI_DF2TAO_NOT_ENOUGH_SPACE
Não há espaço suficiente na mídia para adicionar a faixa de áudio fornecida.

Valor: 0xC0AA0509

E_FAIL
Falha não especificada.

Valor: 0x80004005

E_INVALIDARG
Um ou mais argumentos não são válidos.

Valor: 0x80070057

E_OUTOFMEMORY
Falha ao alocar a memória necessária.

Valor: 0x8007000E

E_IMAPI_RECORDER_COMMAND_TIMEOUT
O dispositivo não aceitou o comando dentro do período de tempo limite. Isso pode ser causado pelo dispositivo ter inserido um estado inconsistente ou o valor de tempo limite para o comando pode precisar ser aumentado.

Valor: 0xC0AA020D

E_IMAPI_RECORDER_INVALID_RESPONSE_FROM_DEVICE
O dispositivo relatou dados inesperados ou inválidos para um comando.

Valor: 0xC0AA02FF

E_IMAPI_RECORDER_MEDIA_UPSIDE_DOWN
A mídia é inserida de cabeça para baixo.

Valor: 0xC0AA0204

E_IMAPI_RECORDER_MEDIA_BECOMING_READY
A unidade informou que está em processo de preparação. Tente a solicitação novamente mais tarde.

Valor: 0xC0AA0205

E_IMAPI_RECORDER_MEDIA_NO_MEDIA
Não há mídia no dispositivo.

Valor: 0xC0AA0202

E_IMAPI_RECORDER_MEDIA_FORMAT_IN_PROGRESS
A mídia está sendo formatada no momento. Aguarde a conclusão do formato antes de tentar usar a mídia.

Valor: 0xC0AA0206

E_IMAPI_RECORDER_MEDIA_BUSY
A unidade informou que está executando uma operação de longa execução, como terminar uma gravação. A unidade pode ser inutilizável por um longo período de tempo.

Valor: 0xC0AA0207

E_IMAPI_LOSS_OF_STREAMING
A gravação falhou porque a unidade não recebeu dados rapidamente o suficiente para continuar gravando. Mover os dados de origem para o computador local, reduzir a velocidade de gravação ou habilitar uma configuração de "buffer sem execução livre" pode resolve esse problema.

Valor: 0xC0AA0300

E_IMAPI_RECORDER_MEDIA_INCOMPATIBLE
A mídia não é compatível ou de formato físico desconhecido.

Valor: 0xC0AA0203

E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT
A estrutura do DVD não está presente. Isso pode ser causado por uma unidade/mídia incompatível usada.

Valor: 0xC0AA020E

E_IMAPI_RECORDER_NO_SUCH_MODE_PAGE
O dispositivo informou que a página do modo solicitado (e o tipo) não está presente.

Valor: 0xC0AA0201

E_IMAPI_RECORDER_INVALID_MODE_PARAMETERS
A unidade informou que não havia suporte para a combinação de parâmetros fornecidos na página de modo para um comando MODE SELECT.

Valor: 0xC0AA0208

E_IMAPI_RECORDER_MEDIA_WRITE_PROTECTED
A unidade informou que a mídia está protegida por gravação.

Valor: 0xC0AA0209

E_IMAPI_RECORDER_MEDIA_SPEED_MISMATCH
A velocidade da mídia é incompatível com o dispositivo. Isso pode ser causado pelo uso de mídia de velocidade maior ou menor do que o intervalo de velocidades com suporte pelo dispositivo.

Valor: 0xC0AA020F

HRESULT_FROM_WIN32(ERROR_INVALID_HANDLE)
O identificador especificado é inválido.

Valor: 6

HRESULT_FROM_WIN32(ERROR_DEV_NOT_EXIST)
O recurso de rede ou dispositivo especificado não está mais disponível.

Valor: 55

E_IMAPI_RECORDER_LOCKED
O dispositivo associado a esse gravador durante a última operação foi bloqueado exclusivamente, fazendo com que essa operação falhasse.

Valor: 0xC0AA0210

E_IMAPI_REQUEST_CANCELLED
A solicitação foi cancelada.

Valor: 0xC0AA0002

Comentários

Antes de chamar esse método, você deve chamar os métodos IDiscFormat2TrackAtOnce::p ut_Recorder e IDiscFormat2TrackAtOnce::P repareMedia .

Você também deve considerar chamar os seguintes métodos se seus valores padrão não forem apropriados para seu aplicativo:

Para determinar o progresso da operação de gravação, você deve implementar a interface DDiscFormat2TrackAtOnceEvents . Para obter exemplos que mostram como implementar um manipulador de eventos em um script, consulte Monitorando o progresso com eventos.

A mídia pode acomodar 99 faixas de dados de áudio. A numeração de faixa começa em 1. A última faixa é 99.

O silêncio ou exemplos de dados que contêm zeros serão adicionados à operação de gravação de rastreamento das seguintes maneiras:

  • O tamanho mínimo da faixa é de 4 segundos e, se necessário, os dados da faixa serão ampliados para atender a esse requisito.
  • Devido à natureza da gravação de faixa ao mesmo tempo, um intervalo de dois segundos é adicionado entre faixas de áudio sucessivas. Essa lacuna normalmente é ocultada por jogadores baseados em computador, mas pode ser perceptível em alguns equipamentos eletrônicos de consumo.

Requisitos

   
Cliente mínimo com suporte Windows Vista, Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho imapi2.h

Confira também

IDiscFormat2TrackAtOnce

IDiscFormat2TrackAtOnce::CancelAddTrack