Mit Überraschung kann ich sagen, dass dies erreicht werden kann und ich es einfach getan habe.
Diese Methode unterstützt alle Möglichkeiten:
Solange eine Instanz von AVPlayer
läuft, verhindert iOS die automatische Sperre des Geräts.
Zuerst müssen Sie die Anwendung so konfigurieren, dass sie den Audio-Hintergrund von der Datei Info.plist unterstützt, indem Sie im Array UIBackgroundModes
das Element audio
hinzufügen.
Dann fügen Sie Ihre AppDelegate.m in - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions:
diese Methoden
%Vor% und #import <AVFoundation/AVFoundation.h>
Dann in Ihrem View-Controller, der AVPlayer
und
%Vor%antworten Sie dann auf
%Vor%Ein weiterer Trick ist erforderlich, um die Wiedergabe fortzusetzen, wenn der Benutzer die Home-Taste drückt (in diesem Fall wird die Wiedergabe mit einem Ausblenden unterbrochen).
Wenn Sie die Wiedergabe des Videos steuern (ich habe die Methoden play:
und pause:
), setzen Sie
und
%Vor%und die entsprechende aufgerufene Methode, die einen Timer startet und die Wiedergabe fortsetzt.
%Vor%Sie können diese Hintergrundaufgabe ausführen, wenn sich die Anwendung im Hintergrund befindet:
1 & gt; Audioaufnahme
2 & gt; Standort
3 & gt; voip
4 & gt; Kiosk-Inhalt
5 & gt; externes Zubehör
6 & gt; Bluetooth-zentrale
7 & gt; Bluetooth-Peripheriegeräte
Siehe diesen Link,
auch das kann dir helfen: AVPlayer Video im Hintergrund abspielen
Die obigen Antworten pausieren das Video für eine Sekunde, wenn die App in den Hintergrund tritt, aber mit der unten genannten Methode wird das Video abgespielt, während die App ohne Fehler in den Hintergrund geht.
Wenn der aktuelle AVPlayer ein Video auf dem Display des Geräts anzeigt, wird die Wiedergabe des AVPlayers automatisch angehalten, wenn die App an den Hintergrund gesendet wird. Es gibt zwei Möglichkeiten, diese Pause zu verhindern:
REFERENZ
Wiedergabe von Medien während der Wiedergabe Hintergrund mit AV Foundation auf iOS
Tags und Links ios video background avplayer