2016-07-20 11 views
1

Meine App ermöglicht Benutzern den Zugriff auf einen Dienst, der Audiobücher über das Internet abspielt. Ich verwende ein UIWebView, um dies zu handhaben.Hintergrund-Audiowiedergabe in UIWebView

Wenn die App beendet wird oder das Gerät in den Ruhezustand versetzt wird, wird die Wiedergabe gestoppt. Da ich gerade die Web-Ansicht nicht die Audiodatei direkt wiedergeben, kann ich diese Methoden nicht verwenden, um das Audio im Hintergrund wiederzugeben.

Wenn Sie jedoch über die Safari-App auf den gleichen Link zugreifen, wird der Ton wiedergegeben, nachdem das Telefon in den Ruhezustand versetzt wurde. Wie erreiche ich den gleichen Effekt in meiner App?

Antwort

5

Zuerst Ihre App für Hintergrund-Audio-Wiedergabe in Ihrem Info.plist aktivieren:

<key>UIBackgroundModes</key> 
<array> 
    <string>audio</string> 
</array> 

Background Modes

Plist

Wenn Sie nicht bereits so eingestellt, Ihre App zu tun, sich für Audiowiedergabe in Ihrem AppDelegate oder einer anderen Klasse:

import AVFoundation 

// ... 

do { 
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
} catch { 
    // Handle setCategory failure 
    print(error) 
} 
+0

Vielen Dank s! Anscheinend fehlte mir der Teil "setCategory". –

+0

@JAL Ich mache dasselbe Apple apple die App ablehnen * Unsere App deklariert die Unterstützung für Audio im UIBackgroundModes-Schlüssel in Ihrer Info.plist, enthält jedoch keine Funktionen, die dauerhaftes Audio erfordern * –