Pergunta

Eu tenho uma pergunta rápida: Eu estou carregando um arquivo mp3 em um objeto NSData e então eu jogá-lo usando o AVAudioPlayer no meu jogo. A cada segundo ou assim, a taxa de quadros cai e você pode ver uma gagueira na tela. Não é uma grande desaceleração, mas claramente perceptível e interromper a jogabilidade. Não jogar a faixa de música com os shows AVAudioPlayer não abrandar em tudo.

Como posso evitar que isso aconteça?

Obrigado.

Florian

Foi útil?

Solução

Para referência futura, aqui está a solução:

Como definir a categoria sessão de áudio para kAudioSessionCategory_AmbientSound (para permitir iPod música a tocar em simultâneo) de alguma forma desativa a aceleração de hardware MP3. Definir a categoria de áudio para kAudioSessionCategory_SoloAmbientSound corrige isso, mas não permite a reprodução do iPod. Eu agora definir a categoria sessão de áudio, dependendo se música de fundo é ativada ou desativada para permitir a reprodução simultânea iPod.

Outras dicas

O MP3 é um formato de áudio codificado / comprimido. Pode tentar ou para reduzir a taxa de amostragem (por istance, em vez de 128 kb / s tente de 64 kb / s) ou interruptor para um formato não codificados tais como PCM linear. Os contras são: reduzir a qualidade de áudio no primeiro caso, o tamanho do arquivo mais elevado no último. Mas isso pode ajudar a melhorar o desempenho global do seu aplicativo.

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