2016-05-04 12 views
0

Ich versuche eine Radio Streaming App zu erstellen. Ich habe eine Singleton-Klasse für May RadioPlayer erstellt, wie unten beschrieben, und ich habe Hintergrundmodi> Audio, AirPlay und Bild in Bild eingeschaltet.Wie funktioniert die Hintergrund-Audiowiedergabe bei iOS ordnungsgemäß?

Wenn die App jedoch in den Hintergrundmodus wechselt, wird der Ton nicht wiedergegeben. Was fehlt mir hier?

Schätzen Sie jede Hilfe! Vielen Dank!

import Foundation 
import AVFoundation 

class RadioPlayer { 

    static let sharedInstance = RadioPlayer() 

    var player = AVPlayer(playerItem: RadioPlayer.radioPlayerItem()) 
    var isPlaying = false 

    class func radioPlayerItem() -> AVPlayerItem { 
    return AVPlayerItem(URL: urlRadio()) 
    } 

    class func urlRadio() -> NSURL { 
    let roRadio = Repository.realm.objects(RORadio) 
    let url: NSURL = NSURL(string: roRadio[0].streaming)! 
    return url 
    } 

    func toggle() { 
    if isPlaying == true { 
     pause() 
    } else { 
     play() 
    } 
    } 

    func play() { 
    player.play() 
    isPlaying = true 
    } 

    func pause() { 
    player.pause() 
    isPlaying = false 
    } 

    func currentlyPlaying() -> Bool { 
    return isPlaying 
    } 
} 

Antwort

0

Die Anwendung sollte im Hintergrund weiterlaufen. Öffnen Sie Ihre Info.plist-Datei, und fügen Sie den Schlüssel von UIBackgroundModes hinzu. Es wird nur eine Zeichenfolge "Audio" für Ihr Ziel geben.

+0

Hallo Onur, danke, aber ich habe es auf [Hintergrundmodi> Audio, AirPlay und Bild in Bild.] – acmobile

+0

Sie holen auch Ihre Audio aus dem Netzwerk. Daher benötigen Sie einen permissiveren Hintergrundmodus, der kontinuierlichen Netzwerkzugriff ermöglicht. – Curmudgeonlybumbly

+0

@Curmudgeonlybumbly Können Sie mich bitte auf ein Beispiel oder etwas verweisen? Vielen Dank! – acmobile