Ich habe eine kurze mp4
Videodatei, die ich meinem aktuellen Xcode6 Beta-Projekt hinzugefügt habe.
Ich möchte das Video in meiner App abspielen.
Nach stundenlanger Suche kann ich nichts entfernt Hilfreiches finden. Gibt es eine Möglichkeit, dies mit Swift zu erreichen, oder müssen Sie Objective-C verwenden? Kann ich in die richtige Richtung zeigen? Ich kann nicht der einzige sein, der sich das fragt.
ios
objective-c
swift
avplayer
avplayerviewcontroller
36 Mit Absicht
quelle
quelle
Antworten:
Sicher können Sie Swift verwenden!
1. Hinzufügen der Videodatei
Fügen Sie das Video (nennen wir es
video.m4v
) Ihrem Xcode-Projekt hinzu2. Überprüfen Sie, ob Ihr Video im Bundle enthalten ist
Öffnen Sie das
Project Navigator
cmd+1Wählen Sie dann
your project root
>your Target
>Build Phases
>Copy Bundle Resources
.Dein Video MUSS hier sein. Wenn dies nicht der Fall ist, sollten Sie es mit der Plus-Taste hinzufügen
3. Code
Öffnen Sie Ihren View Controller und schreiben Sie diesen Code.
quelle
initializer for conditional binding must have optional type not nsurl
import AVKit
?ein weiteres Swift 3 Beispiel. Die bereitgestellte Lösung hat bei mir nicht funktioniert.
Verwendung:
Hinweis: Aktivieren Sie unter Build-Phasen die Option Bundle-Ressourcen kopieren, um sicherzustellen, dass das Video für das Projekt verfügbar ist.
quelle
Sie können
AVPlayer
auf eine andere Weise einrichten , die zur vollständigen Anpassung Ihres Video-Player-Bildschirms geöffnet wirdSwift 2.3
Erstellen Sie eine
UIView
Unterklasse für die Wiedergabe von Videos (im Grunde können Sie jedesUIView
Objekt verwenden und es wird nur benötigtAVPlayerLayer
. Ich richte auf diese Weise ein, weil es für mich viel klarer ist).Richten Sie Ihren Player ein
Verwendung:
Angenommen, Sie haben eine Ansicht
und in
viewDidLoad()
Ziel c
PlayerView.h
PlayerView.m
VideoPlayer.h
VideoPlayer.m
Bei einer Ressource außerhalb der Ursache (Videodatei) sollte die Zielmitgliedschaft für Ihr Projekt festgelegt sein
Zusätzlicher Link zum perfekten Apple Developer Guide
quelle
layer.player = player
(in SwiftsPlayerView
) nicht seinlayer.player = newValue
? Da Sie den neuen Wert nicht den aktuellen Wert einstellen möchten, ist dieser Null.Swift 3
quelle
Dieser Code wird in Swift 4 in gbk answer konvertiert
1.in Ihrer Hauptsteuerungsansicht:
Sie benötigen die VideoPlayer-Klasse
und eine PlayerView-Klasse zum Erstellen einer Videoansicht:
quelle
PlayerView für schnelle 4.2
quelle
gbk's lösung in schnell 3
PlayerView
Videoplayer
quelle
Keines der oben genannten hat bei mir funktioniert Swift 5 für Local Video Player
Nachdem ich die Apple-Dokumentation gelesen hatte, konnte ich ein einfaches Beispiel für die Wiedergabe von Videos aus lokalen Ressourcen erstellen
Hier ist Code Snip
quelle
Hier eine Lösung für Swift 5.2
PlayerView.swift:
VideoPlayer.swift
Verwendung:
und innen
viewDidLoad()
:quelle