AVPlayer, lecture sur Device (Simulator Ok)
iLandes
Membre
Bonjour,
J'essaie de lire un fichier son (distant) avec AVPlayer. Cela fonctionne très bien sur simulator mais cela ne fonctionne pas sur terminal. Je pense plus à un problème de configuration de l'application dans Xcode mais je vous fourni mon code tout de même :
D'avance merci pour votre aide.
// MARK: - Constants
private struct Key {
static let rate = "rate"
static let status = "status"
static let duration = "currentItem.duration"
static let loadedTimeRange = "currentItem.loadedTimeRanges"
}
// MARK: - Var
private var player: AVPlayer!
// MARK: - Init
override init() {
super.init()
print ("INIT RADIO !!!!!!")
// Check valid URL
guard let url = k.radioURL else {
print ("URL Error")
return
}
player = AVPlayer(url: url)
player.play()
// Add Observers
player.addObserver(self, forKeyPath: Key.rate, options:NSKeyValueObservingOptions.new, context: nil)
player.addObserver(self, forKeyPath: Key.status, options: NSKeyValueObservingOptions.new, context: nil)
player.addObserver(self, forKeyPath: Key.duration, options: NSKeyValueObservingOptions.initial, context: nil)
player.addObserver(self, forKeyPath: Key.loadedTimeRange, options: NSKeyValueObservingOptions.new, context: nil)
}
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
A priori j'accède pas au micro, juste au haut parleur, mais effectivement cela resemble à un problème de droit d'accès
Avec ton KVO sur status, tu ne tombes pas dans le cas status == AVPlayerStatusFailed, et auquel cas il faudrait voir player.error ?
Pas de logs étranges dans la console ?
Juste comme ça mais pour info depuis Swift 3 tu as une fonctionnalité qui te permet d'accéder aux propriétés sans devoir l'écrire sous sa forme littéral.
Donc au lieu d'écrire une structure qui compose toutes tes propriétés tu peux y accéder directement ainsi :
Bonjour,
Etand donné que ton fichier se trouve sur internet , as tu essayé à tous hazard de désacitver l'app transport sécurity dans ton PLIST ?