Updated for Xcode 14.2
SwiftUI’s VideoPlayer
view lets us playback movies from any URL, local or remote. It comes from the AVKit framework, so you should make sure and add import AVKit
before trying it out.
As an example, if you had video.mp4 in your app bundle and wanted to play it back, you’d use this:
VideoPlayer(player: AVPlayer(url: Bundle.main.url(forResource: "video", withExtension: "mp4")!))
.frame(height: 400)
Download this as an Xcode project
Reminder: You need to add import AVKit
to your Swift file to use this.
And if you want to play a remote video, use its remote URL instead:
VideoPlayer(player: AVPlayer(url: URL(string: "https://bit.ly/swswift")!))
.frame(height: 400)
Download this as an Xcode project
If you want, you can provide a second parameter to the VideoPlayer
initializer that adds content to be drawn over the video. This will be drawn below the system video controls, but can respond to any events that aren’t caught by those controls.
For example, this places the text “Watermark” at the very top of the video area:
VideoPlayer(player: AVPlayer(url: URL(string: "https://bit.ly/swswift")!)) {
VStack {
Text("Watermark")
.foregroundColor(.black)
.background(.white.opacity(0.7))
Spacer()
}
.frame(width: 400, height: 300)
}
Download this as an Xcode project
SPONSORED From March 20th to 26th, you can join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.