2011-12-05 26 views
5

¿Es posible saber cuándo está listo un AVAudioPlayer después de una llamada al prepareToPlay?AVAudioPlayer prepareToPlay devolución de llamada en iPhone

Si no, ¿hay alguna otra clase que proporcione esta funcionalidad?

me gustaría implementar algo como esto:

- (void) prepare { 
    [audioPlayer prepareToPlay]; 
    // Update UI to indicate that the audio is being prepared 
} 

- (void) onAudioReady { 
    // Update UI to indicate that the audio is ready 
} 

Respuesta

0

hay esta clase que puede ayudar a inicializar el audio y luego jugar al instante en su método onAudioReady.

https://github.com/nicklockwood/SoundManager

con referencia a este post: https://stackoverflow.com/a/10417762/1474080

O

puede comprobar el resultado BOOL de [audioplayer prepareToPlay] para ver si el hardware de audio se ha inicializado de acuerdo con la documentación . Si el resultado es SÍ, puede generar alguna UI para que el usuario la vea.

prepareToPlay Prepara el reproductor de audio para la reproducción precargando sus búferes.

  • (BOOL) prepareToPlay Valor devuelto Devuelve SÍ en caso de éxito o NO en caso de error.

Discusión Al llamar a este método de precarga los tampones y adquiere el audio hardware necesario para la reproducción, lo que minimiza el retardo entre llamar el método de reproducción y el inicio de la salida de sonido.

Llamar al método de detención, o permitir que un sonido termine de reproducirse, deshace esta configuración.

Cuestiones relacionadas