new video adding ui + selecting multiple videos

This commit is contained in:
leminlimez committed 2025-06-11 20:58:28 -04:00
1 parent 047c9e9504
commit ef444f7c5c
7 files changed
+241 -88

No files matched your search

@@ -0,0 +1,41 @@
//
// LoopingPlayerUIView.swift
// Pocket Poster
//
// Created by lemin on 6/11/25.
//
import UIKit
import AVFoundation
class LoopingPlayerUIView: UIView {
private var playerLayer = AVPlayerLayer()
private var playerLooper: AVPlayerLooper?
private var player = AVQueuePlayer()
init(videoURL: URL){
let asset = AVAsset(url: videoURL)
let item = AVPlayerItem(asset: asset)
super.init(frame: .zero)
// Setup the player
playerLayer.player = player
playerLayer.videoGravity = .resizeAspectFill
layer.addSublayer(playerLayer)
// Create a new player looper with the queue player and template item
playerLooper = AVPlayerLooper(player: player, templateItem: item)
player.play()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
playerLayer.frame = bounds
}
}
+23
View File
@@ -0,0 +1,23 @@
//
// PlayerView.swift
// Pocket Poster
//
// Created by lemin on 6/11/25.
//
import SwiftUI
struct PlayerView: UIViewRepresentable {
var videoURL: URL
init(videoURL: URL) {
self.videoURL = videoURL
}
func updateUIView(_ uiView: UIView, context: UIViewRepresentableContext<PlayerView>) {
}
func makeUIView(context: Context) -> UIView {
return LoopingPlayerUIView(videoURL: videoURL)
}
}