0
애플 스위프트 버전 3.0.2 (swiftlang-800.0.63 그 소리-800.0.42.1) 내가 AVPlayer를를 사용하여 인터넷에서 비디오를 재생하고 싶은AVPlayer를 사용하여 비디오를 재생하려면 어떻게해야합니까?
. 그러나 소스 목록 아래의 AVPlayer.swift에서 "super.init (frame : frame)"오류가 발생했습니다.
가 어떻게 AVPlayer를를 사용하여 비디오를 재생할 수 있습니까? 오류의 점 이외의 잘못된 점이 있으면 알려주십시오.
let videoURL = NSURL(string: "PUT_YOUR_PROPER_URL")
let playerAV = AVPlayer(url: videoURL! as URL)
let playerLayerAV = AVPlayerLayer(player: playerAV)
playerLayerAV.frame = self.view.bounds
self.view.layer.addSublayer(playerLayerAV)
playerAV.play()
AVPlayer를 지원 확장 아래 :
여기 AVPlayerView.swift
import Foundation
import UIKit
final class AVPlayerView : UIView {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
}
override init(frame: CGRect) {
super.init(frame: frame)
}
override public class var layerClass: Swift.AnyClass {
get {
return AVPlayerView.self
}
}
}
ViewController.swift
import UIKit
import AVFoundation
import CoreMedia
class ViewController: UIViewController {
var playerItem : AVPlayerItem!
var videoPlayer : AVPlayer!
override func viewDidLoad() {
super.viewDidLoad()
let url:NSURL = NSURL(string: "https://aaa.com/test.m3u8")!
let avAsset = AVURLAsset(url: url as URL, options: nil)
playerItem = AVPlayerItem(asset: avAsset)
videoPlayer = AVPlayer(playerItem: playerItem)
print(self.view.bounds)
let videoPlayerView = AVPlayerView(frame: self.view.bounds)
let layer = videoPlayerView.layer as! AVPlayerLayer
layer.videoGravity = AVLayerVideoGravityResizeAspect
layer.player = videoPlayer
self.view.layer.addSublayer(layer)
videoPlayer.play()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
AVPlayer는 m3u8의 http 라이브 스트리밍을 지원합니까? HLS는 H.264 및 aac의 ts 파일을 포함합니다. – Ubunkun
나는 당신의 url로 다만 검사하고, 그러나 작동하지 않는다. – Nirmalsinh
예, URL이 변경되었습니다. iPhone 브라우저에서 URL을 재생할 수 있습니다. – Ubunkun