Pergunta

Portanto, um arquivo .wav possui alguns pedaços padrão. Na maioria dos arquivos com quem trabalho, o pedaço "riff" é o primeiro, depois um pedaço "FMT", depois o pedaço "dados". Ao gravar usando o AvaudiorEcorder, esses pedaços são criados (embora um "fllr" extra seja criado antes do pedaço de "dados".)

Ao criar um arquivo com o Audioqueue, esses pedaços padrão não são criados. Em vez disso, o Audioqueue cria, em ordem, "Caff", "Desc", "LPCM", "Free" e "Data" Chunks.

O que está acontecendo? Os pedaços "riff" e "fmt" não são necessários? Como forçar a inclusão desses pedaços?

Estou criando um arquivo por:

AudiofilecReateWithurl (URL, KaudiofilecAftype e inputDataFormat, Kaudiofileflags_eraseFile, & Audiofile);

Com o InputDataFormat sendo um AudioStreambasicDescription com um complemento completo de propriedades.

Então, como se escreve, pelo menos, os pedaços de "riff" e "fmt" com audiolográfico?

Obrigado.

Foi útil?

Solução

Portanto, um arquivo .wav possui alguns pedaços padrão. ...

Ao criar um arquivo com o Audioqueue, esses pedaços padrão não são criados. ...

Estou criando um arquivo por:

AudioFileCreateWithURL(URL, kAudioFileCAFType, &inputDataFormat, kAudioFileFlags_EraseFile, &AudioFile);

Que este seja um exemplo do valor de mostrar o código de alguém na pergunta de alguém. :-)

kAudioFileCAFType é um arquivo de áudio principal, não um arquivo WAV. Tentar kAudioFileWAVEType em vez de.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top