xcode ipad avfoundation avplayer

xcode - Reproduce mĂșltiples archivos de audio con AVPlayer



ipad avfoundation (3)

Estoy tratando de reproducir varios sonidos al mismo tiempo.

El enfoque que inicialmente adopté fue crear varios jugadores, pero me parece incorrecto.

¿Cuál es la mejor manera de reproducir varios archivos de audio al mismo tiempo.

Es a través de hacerlos AVAssets, pero en este caso, ¿cómo me detendría y los reproduciría cuando quisiera?

Realmente aprecio tu ayuda.

La razón por la que necesito AVPlayer es para obtener sonidos de la biblioteca del iPod.

Finalmente obtuve una respuesta de TechSupport de Apple Dev Team y parece que estoy en el camino correcto cuando decidí usar varios AVPlayer.


Bueno, mi solución sale de la experiencia. Puedo preparar un proyecto rápidamente si es necesario. Pero también requiere el uso de una API MoMu en Stanford. Implica crear objetos WvIn y WvOut para leer los archivos. Las muestras de audio de estos objetos simplemente deben enviarse al búfer de salida para reproducir los archivos simultáneamente. Aunque la API usa AVFoundation, no hay un uso explícito de AVFoundation en este proyecto.


Nunca he respondido una pregunta aquí y no sé si alguien todavía está esperando una respuesta, pero aquí está mi opinión ... Intente esto y debería funcionar, actualmente lo estoy usando para reproducir más de 12 muestras de audio simultáneas. Pido disculpas si estoy haciendo algo nuevo.

Presionas un botón y ejecutas este código ...

Pero primero necesitas:

  1. Necesitamos importar AVFoundation para proyectar y #importar en el archivo .h también para que podamos reproducir el sonido con esto.
  2. Necesito poner "AVAudioPlayer * myAudio;" sin comillas, por supuesto, en algún lugar en la parte superior (generalmente en la parte superior de viewDidLoad).

Entonces solo ...

-(IBAction)playButtonPressed:(id)sender { NSURL *yourMusicFile; yourMusicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"your_Song_Name" ofType:@"mp3"]]; myAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil]; [myAudio play]; NSLog(@"Button -playButtonPressed- has been pressed!"); }


Por cada sonido que quieras hacer crea un nuevo AVPlayer.

NSURL *url = [NSURL URLWithString:pathToYourFile];
AVPlayer *audioPlayer = [[AVPlayer alloc] initWithURL:url];
[audioPlayer play];