IOS AVPlayer不会播放视频

Ash*_*ein 6 video ios avplayer ios6

我正在尝试播放视频,因此我从教程中获得了一些代码,但它无法正常工作.

这是我使用的代码:

- (void) viewDidAppear:(BOOL)animated
{
    avAsset = [AVAsset assetWithURL:[NSURL URLWithString:filePath]];
    avPlayerItem =[avPlayerItem initWithAsset:avAsset];
    avPlayer = [AVPlayer playerWithPlayerItem:avPlayerItem];
    avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:avPlayer];
    [avPlayerLayer setFrame:self.view.frame];
    [self.view.layer addSublayer:avPlayerLayer];
    [avPlayer seekToTime:kCMTimeZero];
    [avPlayer play];

}
Run Code Online (Sandbox Code Playgroud)

我不知道它有什么不对,它没有给出任何错误它只是给了黑屏.谢谢.

Ash*_*ein 36

嘿伙计们感谢s1mon和matt为你提供帮助

这是可以帮助某人的新代码:

- (void) viewDidAppear:(BOOL)animated
{
    avAsset = [AVAsset assetWithURL:[NSURL fileURLWithPath:filePath]];
    avPlayerItem =[[AVPlayerItem alloc]initWithAsset:avAsset];
    avPlayer = [[AVPlayer alloc]initWithPlayerItem:avPlayerItem];
    avPlayerLayer =[AVPlayerLayer playerLayerWithPlayer:avPlayer];
    [avPlayerLayer setFrame:self.view.frame];
    [self.view.layer addSublayer:avPlayerLayer];
    //[avPlayerLayer setBackgroundColor:[[UIColor redColor]CGColor]];
    [avPlayer seekToTime:kCMTimeZero];
    [avPlayer play];

}
Run Code Online (Sandbox Code Playgroud)

THXXXXXXXX家伙:D


mat*_*att 12

这可能不是实际问题,但这段代码肯定是错误的:

[NSURL URLWithString:filePath]
Run Code Online (Sandbox Code Playgroud)

首先,尽量不要以文件路径开头; 从文件URL开始.这样,就不需要转换.但是,如果您必须执行从文件路径到URL的转换,请使用fileURLWithPath:isDirectory:.文件URL是一种特殊的动物,当您从路径转换时,您必须特别要求它.