William-Weng / WWSwiftMobileVLC

After packaging MobileVLCKit, use it directly on SPM.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WWSwiftMobileVLC

Swift-5.6 iOS-14.0 TAG Swift Package Manager-SUCCESS LICENSE

dependencies: [
    .package(url: "https://github.com/William-Weng/WWSwiftMobileVLC.git", .upToNextMajor(from: "1.0.0"))
]

Example - 程式範例

import UIKit
import MobileVLCKit

final class ViewController: UIViewController {
    
    private let mediaURL = "https://streams.videolan.org/streams/mp4/Mr_MrsSmith-h264_aac.mp4"
    
    var mediaPlayer = VLCMediaPlayer()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        mediaPlayerSetting()
    }
    
    @objc func handlePlayPause(_ sender: UIBarButtonItem) {
                
        if mediaPlayer.isPlaying {
            playerButton(systemItem: .play)
            mediaPlayer.pause()
        } else {
            playerButton(systemItem: .pause)
            mediaPlayer.play()
        }
    }
}

extension ViewController: VLCMediaPlayerDelegate {

    func mediaPlayerStateChanged(_ aNotification: Notification) {
        if mediaPlayer.state == .stopped { view.backgroundColor = .white }
    }
}

private extension ViewController {
    
    func mediaPlayerSetting() {
        
        guard let url = URL(string: mediaURL) else { return }
        
        mediaPlayer.delegate = self
        mediaPlayer.drawable = view
        mediaPlayer.media = VLCMedia(url: url)
        
        playerButton(systemItem: .play)
    }
    
    func playerButton(systemItem: UIBarButtonItem.SystemItem) {
        
        navigationItem.rightBarButtonItem = UIBarButtonItem(
            barButtonSystemItem: systemItem,
            target: self,
            action: #selector(Self.handlePlayPause)
        )
        
        navigationItem.rightBarButtonItem?.tintColor = .systemRed
    }
}

About

After packaging MobileVLCKit, use it directly on SPM.

License:MIT License


Languages

Language:Swift 100.0%