2016-01-14 3 views

Antwort

1

Sie können versuchen, AVPlayerLayer mit gewünschter Größe und Position zu verwenden und Video darauf abzuspielen.

Beispiel-Code-Einstellung Spieler und Schicht:

- (void)setupPlayer 
{ 
    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:<Your video item URL>]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playFinished:) name:AVPlayerItemDidPlayToEndTimeNotification object:playerItem]; 

    self.player = [AVPlayer playerWithPlayerItem:playerItem]; 

    self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player]; 

    self.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; 

    [self.view.layer addSublayer:self.playerLayer]; 
} 

Mehr über AVPlayer und AVPlayerLayer

+0

Okay, ich werde versuchen und die Rückmeldung bald posten – aline

15

Dies funktioniert:

class BeginController: UIViewController { 
@IBOutlet weak var videoPreviewLayer: UIView! 
var player: AVPlayer! 
var avpController = AVPlayerViewController() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    let moviePath = NSBundle.mainBundle().pathForResource("Hello Moto", ofType: "mp4") 
    if let path = moviePath { 
     let url = NSURL.fileURLWithPath(path) 
     self.player = AVPlayer(url: url) 
     self.avpController = AVPlayerViewController() 
     self.avpController.player = self.player 
     avpController.view.frame = videoPreviewLayer.frame 
     self.addChildViewController(avpController) 
     self.view.addSubview(avpController.view)    
    } 
    // Do any additional setup after loading the view. 
} 
0

Swift 3 gelten pod-Spieler

Podfile:

platform :ios, '10.0' 
use_frameworks! 

def pods 
    pod "Player", "~> 0.5.0" 
end 

target 'YourProject' do 
    pods 
end 

YourViewController:

import Player 

    // Player 
    var player:Player 

    // MARK: object lifecycle Player 
    convenience init() { 
     self.init(nibName: nil, bundle:nil) 
    } 

    required init?(coder aDecoder: NSCoder) { 
     self.player = Player() 
     super.init(coder: aDecoder) 
    } 

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { 
     self.player = Player() 
     super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) 
    } 

    deinit { 
     self.player.willMove(toParentViewController: self) 
     self.player.view.removeFromSuperview() 
     self.player.removeFromParentViewController() 
    } 


    private func playeVideo(url: URL) { 

     player.playerDelegate = self 
     player.playbackDelegate = self 
     player.view.frame = self.view.bounds // your frame here 
     self.addChildViewController(self.player) 
     self.view.insertSubview(player.view, at: 0) 

     player.url = url 
     self.player.playFromBeginning() 

    } 

Bitte mehr Details hier https://github.com/piemonte/Player

1
import AVFoundation 
import AVKit 

var player = AVPlayer() 
var playerController = AVPlayerViewController() 

func playVideo() { 
    let videoURL = NSURL(string: videoUrl) 
    player = AVPlayer(url: videoURL! as URL) 
    let playerController = AVPlayerViewController() 
    playerController.player = player 
    self.addChildViewController(playerController) 

    // Add your view Frame 
    playerController.view.frame = self.view.frame 

    // Add sub view in your view 
    self.view.addSubview(playerController.view) 

    player.play() 
} 

für Spieler Stop oder Pause

func stopVideo() { 
    player.pause() 
} 

Dieser Kodex ist Arbeit für mich bitte versuchen Sie es .

Verwandte Themen