sonidos sonido quitarle quitar para noche grabar como app aplicacion ios audio background multitasking locked

ios - para - como quitarle el sonido a un video en iphone



¿Cómo se maneja el audio de fondo mientras el dispositivo iOS está bloqueado o en otra aplicación? (6)

Diseñando un sistema de música generativa para iOS, usando OpenFrameworks, necesitaría proporcionar un modo en el que el usuario pueda escuchar la música producida por la aplicación cuando:

  • el dispositivo está bloqueado
  • el usuario usa otra aplicación

Algunas aplicaciones, como BLOOM o reloj de alarma, funcionan así y proponen a los usuarios un interruptor para habilitar / deshabilitar esta función.

¿Algún consejo para eso?


Debes hacer un par de cambios en el archivo plist.

1) Establecer el modo de fondo requerido para que la aplicación reproduzca audio

2) establecer la aplicación no se ejecuta en segundo plano a NO.

let dispatchQueue = DispatchQueue.global() dispatchQueue.async(execute: { do{ let session = AVAudioSession.sharedInstance() try session.setCategory(AVAudioSessionCategoryPlayback) try session.setActive(true) self.isObjectAllocate = true if self.isPlayed == false{ self.playSound(soundName: "http://radio.zahraun.com:8000/live.m3u") self.isPlayed = true self.btnPlayAudio.setImage(#imageLiteral(resourceName: "pause") , for: .normal) }else{ self.audioPlayer.pause() self.isPlayed = false self.btnPlayAudio.setImage(#imageLiteral(resourceName: "audioPlay"), for: .normal) } } catch{ print("/(error)") } });


Debes hacer un par de cambios en el archivo plist.

es decir 1) Establecer el modo de fondo requerido para que la aplicación reproduzca audio

2) establecer la aplicación no se ejecuta en segundo plano a NO.

NSError *setCategoryErr = nil; NSError *activationErr = nil; [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:&setCategoryErr]; [[AVAudioSession sharedInstance] setActive:YES error:&activationErr];

Entonces, necesitas escribir estos muchos códigos en AppDelegate

Ahora, puede ejecutar audio fácilmente mientras la pantalla del teléfono se bloquea o se queda en segundo plano.



Realice los siguientes cambios en la configuración del proyecto xCode, así como en el código.

paso 1) Seleccione su archivo de proyecto en el navegador de Xcode. Luego, desde la sección de Capacidades, enciende la subsección Modos de fondo. Una vez que se le haya asignado la lista de modos de fondo, marque el interruptor Audio & Airplay.

stp 2) Use el siguiente código rápido, básicamente necesita configurar sesión de audio para su aplicación.

var audioPlayer : AVAudioPlayer! @IBAction func playButtonClicked(sender : AnyObject){ let dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) dispatch_async(dispatchQueue, { if let data = NSData(contentsOfFile: self.audioFilePath()) { do{ let session = AVAudioSession.sharedInstance() try session.setCategory(AVAudioSessionCategoryPlayback) try session.setActive(true) self.audioPlayer = try AVAudioPlayer(data: data) //self.audioPlayer.delegate = self self.audioPlayer.prepareToPlay() self.audioPlayer.play() } catch{ print("/(error)") } } }); } func audioFilePath() -> String{ let filePath = NSBundle.mainBundle().pathForResource("mySong", ofType: "mp3")! return filePath }

Esta sesión de reproducción de audio reproducirá la reproducción de la aplicación, incluso si la aplicación está en segundo plano o si el teléfono está en modo silencioso o si el dispositivo está bloqueado.


También puedes usar este código:

AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayback error:NULL]; AVAudioSession *backgroundMusic = [AVAudioSession sharedInstance]; [backgroundMusic setCategory:AVAudioSessionCategoryPlayback error:NULL];


Reproducción de audio de fondo

Una aplicación que reproduce o graba audio continuamente (incluso cuando la aplicación se ejecuta en segundo plano) puede registrarse para realizar esas tareas en segundo plano. Habilita el soporte de audio desde la sección Modos de fondo de la pestaña Capacidades en su proyecto de Xcode. (También puede habilitar este soporte incluyendo la clave UIBackgroundModes con el valor de audio en el archivo Info.plist de su aplicación.) Las aplicaciones que reproducen contenido de audio en segundo plano deben reproducir contenido audible y no en silencio.

Referencia de Apple "Reproducción y grabación de audio en segundo plano"

Asegurando que el audio continúa cuando la pantalla se bloquea

Para habilitar / deshabilitar esta función encontré Activando y Desactivando su Sesión de Audio , no lo he probado, pero parece lo que necesita.