Com perdas formato comprimido para PCM cru no iPhone
Pergunta
Eu quero começar com um arquivo de áudio de um filesize modesta, e terminar com uma série de unsigned char
s que pode ser carregado em OpenAL com alBufferData
. Meu problema é as etapas que acontecem no meio.
Eu pensei AAC seria o caminho a percorrer, mas de acordo com a Apple representante Rincewind (cerca de 12/08):
formatos de compressão de hardware Atualmente assistida não são suportados para decodificação no iPhone OS. Estes formatos são AAC, MP3 e ALAC.
Usando ExtAudioFile
com um conjunto formato de cliente gera erros de Perm, para que ele não está fazendo as coisas.
Assim, bravos conhecimento-havers, quais são as minhas opções aqui? Empacotar o aplicativo com .wav e apenas a sugar até ter um download em massa? Escrever meu próprio decodificador?
Todos os links para recursos ou conselhos que você pode ter seria muito apreciada.
Solução 2
Enquanto Vorbis e os outros sugeridos são bons, eles podem ser bastante lento no iPhone porque não há nenhuma aceleração de hardware.
Um codec que é suportado nativamente (mas tem apenas uma proporção de 4: 1 de compressão) é ADPCM, aka ima4. Ele é tratado através da interface ExtAudioFile e só é um pouquinho mais lento do que o carregamento .wav é diretamente.
Outras dicas
renderização off-line de áudio comprimido é agora possível, consulte QA1562 .
Você pode sempre fazer seus arquivos WAV mono e, portanto, reduzir o tamanho do arquivo wav ao meio. Mas isso pode não ser a melhor alternativa para você
Outra opção para fazer sua própria decodificação seria Ogg Vorbis . Há até uma versão de baixa memória de sua biblioteca para processadores inteiros chamado "Tremor" .