sound play kit from ios swift audio

ios - kit - swift play audio from url



Reproducir audio cuando el dispositivo está en modo silencioso-ios swift (4)

Estoy creando una aplicación usando xcode 7.1, swift. Quiero reproducir un audio. Todo esta bien. Ahora mi problema quiero escuchar el sonido cuando el dispositivo está en modo silencioso o silenciado. ¿Cómo puedo hacerlo?

Estoy usando el siguiente código para reproducir audio

currentAudio!.stop() currentAudio = try? AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("sample_audio", ofType: "mp3")!)); currentAudio!.currentTime = 0 currentAudio!.play();


Ponga esta línea antes de llamar al método play () de AVPlayer.

En objetivo c

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

En Swift

do { try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) } catch { // report for an error }


Puedes pasar por esto, te ayudará

Cuando utilice las siguientes categorías de sesión de audio, los sonidos no se silenciarán en iOS: AVAudioSessionCategoryPlayback,AVAudioSessionCategoryRecord,AVAudioSessionCategoryPlayAndRecord

Ejemplo

func playSound (Sound: String, Type: String) { //Prepare the sound file name & extension var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource(Sound, ofType: Type)!) //Preparation to play AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil) AVAudioSession.sharedInstance().setActive(true, error: nil) //Play audio var error: NSError? audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error) audioPlayer.prepareToPlay() audioPlayer.play() }


Swift 3.0 y Xcode> 8

Reproducir sonido en video cuando el dispositivo está en modo RINGER y modo SLIENT

do { try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) //print("AVAudioSession Category Playback OK") do { try AVAudioSession.sharedInstance().setActive(true) //print("AVAudioSession is Active") } catch _ as NSError { //print(error.localizedDescription) } } catch _ as NSError { //print(error.localizedDescription) }


Swift 4

usa esta linea antes de reproducir el video

try? AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])