Pergunta

Eu quero começar com um arquivo de áudio de um filesize modesta, e terminar com uma série de unsigned chars 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.

Foi útil?

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 .

Há alguns áudio de boa fonte aberta decodificação bibliotecas que você pode usar:

Ambos são licenciados sob a LGPL, ou seja, você pode usá-los em aplicações de código fechado fornecidos modificações para a biblioteca, se houver, são código aberto.

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" .

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