Initial commit: SimVision tvOS streaming app
Features: - VOD library with movie grouping and version detection - TV show library with season/episode organization - TMDB integration for trending shows and recently aired episodes - Recent releases section with TMDB release date sorting - Watch history tracking with continue watching - Playlist caching (12-hour TTL) for offline support - M3U playlist parsing with XStream API support - Authentication with credential storage Technical: - SwiftUI for tvOS - Actor-based services for thread safety - Persistent caching for playlists, TMDB data, and watch history - KSPlayer integration for video playback Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
36
KSPlayer-main/Sources/KSPlayer/Audio/AudioPlayerView.swift
Normal file
36
KSPlayer-main/Sources/KSPlayer/Audio/AudioPlayerView.swift
Normal file
@@ -0,0 +1,36 @@
|
||||
//
|
||||
// AudioPlayerView.swift
|
||||
// VoiceNote
|
||||
//
|
||||
// Created by kintan on 2018/8/16.
|
||||
//
|
||||
|
||||
#if canImport(UIKit)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
open class AudioPlayerView: PlayerView {
|
||||
override public init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
toolBar.timeType = .min
|
||||
toolBar.spacing = 5
|
||||
toolBar.addArrangedSubview(toolBar.playButton)
|
||||
toolBar.addArrangedSubview(toolBar.currentTimeLabel)
|
||||
toolBar.addArrangedSubview(toolBar.timeSlider)
|
||||
toolBar.addArrangedSubview(toolBar.totalTimeLabel)
|
||||
toolBar.playButton.tintColor = UIColor(rgb: 0x2166FF)
|
||||
toolBar.timeSlider.setThumbImage(UIColor(rgb: 0x2980FF).createImage(size: CGSize(width: 2, height: 15)), for: .normal)
|
||||
toolBar.timeSlider.minimumTrackTintColor = UIColor(rgb: 0xC8C7CC)
|
||||
toolBar.timeSlider.maximumTrackTintColor = UIColor(rgb: 0xEDEDED)
|
||||
toolBar.timeSlider.trackHeigt = 7
|
||||
addSubview(toolBar)
|
||||
toolBar.translatesAutoresizingMaskIntoConstraints = false
|
||||
NSLayoutConstraint.activate([
|
||||
toolBar.leadingAnchor.constraint(equalTo: leadingAnchor, constant: 7),
|
||||
toolBar.trailingAnchor.constraint(equalTo: trailingAnchor, constant: -12),
|
||||
toolBar.topAnchor.constraint(equalTo: topAnchor),
|
||||
toolBar.bottomAnchor.constraint(equalTo: bottomAnchor),
|
||||
])
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user