william-weng/wwsimplevideoplayerviewui
🎬 簡介
- 使用 UIKit 的
AVPlayerViewController,直接展示系統內建的播放控制器。 - 背後使用
AVPlayer來播放本地或網路影片。 - 使用
Binding<URL>與Binding<Bool>接收外部影片來源與是否自動播放。 - 支援在播放過程中更換影片來源,例如切換不同的 .mp4 或 HLS 網址。
📦 安裝方式
Swift Package Manager
swift package add https://github.com/William-Weng/WWSimpleVideoPlayerViewUI.git或在 Xcode 中:
File → Add Packages → https://github.com/William-Weng/WWSimpleVideoPlayerViewUI.git✨ 功能
- 使用
UIKit播放器整合到SwiftUI,實作完整自訂播放控制。 - 支援播放、暫停、拖曳進度條、音量與亮度手勢調整。
- 可透過
Binding<WWSimpleVideoPlayerDataSource>即時切換影片來源。 - 可透過
Binding<Bool>控制自動播放行為。 - 支援本地檔案與遠端影片來源。
🧩 可用參數
| 方法 | 說明 | |---|---| | source | 影片來源 URL 的 Binding。 | | isAutoplay | 是否自動播放的 Binding。 | | configure | 進度條的樣式、顏色,以及縮圖擷取步進與縮圖尺寸等相關配置設定。 |
🚀 範例
基本播放
import SwiftUI
import WWSimpleVideoPlayerViewUI
struct ContentView: View {
private let configure: WWSimpleVideoPlayerConfigure = .init(thumb: Image("thumb"), mainColor: .mint, thumbnailStep: 5.0, thumbnailSize: .init(width: 240, height: 136))
@State var isAutoplay = true
@State var source: ShortVideo = .init(url: .init(string: "https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4")!)
var body: some View {
WWSimpleVideoPlayerViewUI<ShortVideo>(source: $source, isAutoplay: $isAutoplay, configure: configure)
.frame(maxWidth: .infinity)
}
}Package Metadata
Repository: william-weng/wwsimplevideoplayerviewui
Default branch: main
README: README.md