2016-03-30 10 views
2

Ich habe versucht, AVPlayerViewController spielen mp4 Video zu spielen. Ich benutze "http url", kann es spielen, aber wenn ich fileUrl verwenden, funktioniert es nicht ...ios AVPlayerViewController kann nicht lokal mp4

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"mp4ForDownloadTest" ofType:@"mp4"]; 
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { 
    NSURL *url = [NSURL fileURLWithPath:filePath isDirectory:NO]; 

    AVPlayerViewController *playerVC = [[AVPlayerViewController alloc] init]; 

    AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:url options:nil]; 
    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:movieAsset]; 
    AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem]; 

    playerVC.player = player; 

    [self presentViewController:playerVC animated:YES completion:^{ 
     [player play]; 
    }]; 
} 

enter image description here

Antwort

1

Versuchen Sie folgendes:

 guard let path = NSBundle.mainBundle().pathForResource("drum", ofType:"mp4") else { 
      break 
     } 

     let url = NSURL(fileURLWithPath: path) 
     self.loadPlayer(url) 

dann:

private func loadPlayer(url: NSURL) { 
    // present video window 
    let playerItem = AVPlayerItem(URL: url) 
    let player = AVPlayer.init(playerItem: playerItem) 
    self.playerViewController.player = player 

    self.view.addSubview(self.playerViewController.view) 
    self.videoControlView.alpha = 1.0 
    self.setupPlayerObserver() 
    self.playPlayer() 
    self.setSlider() 
} 
+0

vielen dank – tangkunyin

+0

bitte akzeptieren wenn es dir geholfen hat :) – rcat24

Verwandte Themen