所以我把這個視頻播放到了視圖的子圖層中,但是視頻一直彈出在UIView
下面沒有任何解決方案嗎?iOS swift,視頻輸出不集中在UIView裏面
import UIKit
import AVKit
import AVFoundation
import MediaPlayer
class ViewController: UIViewController {
var player : AVPlayer? = nil
var playerLayer : AVPlayerLayer? = nil
var asset : AVAsset? = nil
var playerItem: AVPlayerItem? = nil
@IBOutlet weak var videoView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let videoURLWithPath = "http://selevision9890-i.akamaihd.net/hls/live/219323/98906/1.m3u8"
let videoURL = NSURL(string: videoURLWithPath)
asset = AVAsset(URL: videoURL!) as AVAsset
playerItem = AVPlayerItem(asset: asset!)
videoView.frame = self.view.frame
player = AVPlayer(playerItem: self.playerItem!)
playerLayer = AVPlayerLayer(player: self.player)
playerLayer!.frame = videoView.frame
videoView.layer.addSublayer(self.playerLayer!)
player!.play()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
正常視圖:
ScreenShot http://image.prntscr.com/image/c4e7b3cce58241e1893a65dcf8e76a3b.png
(從這裏:http://prnt.sc/e33dhf)
旋轉的視圖:
ScreenShot http://image.prntscr.com/image/b00e9e2e15b241478d166d55be644666.png
(從這裏:http://prnt.sc/e33djs)
爲什麼你給playerlayer幀兩次 playerLayer!.frame = videoView.frame playerLayer?.frame = self.view .layer.frame –
第二個是採取整個框架的視圖沒有它它的寬度較小 –
我可以知道videoView框架 –