1

我已经阅读了 StackOverflow 中的所有帖子,但我无法获得有关如何从捆绑包中获取视频并在控制器中重现它的完整示例。

我尝试了很多东西,但我的屏幕显示为空白或黑色。

在最后的修改中,我的视频仍然是这样的:

在此处输入图像描述

日志上没有错误。这是我的代码:

.h(请忽略控制器的名称,它最终将是一个相机)

#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>

@interface NativeCameraViewController : UIViewController
@end

.m

#import "NativeCameraViewController.h"

@interface NativeCameraViewController ()

@property (nonatomic, retain) AVPlayerViewController *avPlayerViewcontroller;

@end

@implementation NativeCameraViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UIView *view = self.view;

    NSString *stringPath = [[NSBundle mainBundle]pathForResource:@"video" ofType:@"mov"];


    NSURL *fileURL = [NSURL fileURLWithPath:stringPath];

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


    playerViewController.player = [AVPlayer playerWithURL:fileURL];

    self.avPlayerViewcontroller = playerViewController;

    [self resizePlayerToViewSize];

    [view addSubview:playerViewController.view];

    view.autoresizesSubviews = TRUE;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


- (void) resizePlayerToViewSize
{
    CGRect frame = self.view.frame;

    NSLog(@"frame size %d, %d", (int)frame.size.width, (int)frame.size.height);

    self.avPlayerViewcontroller.view.frame = frame;
}


@end

这就是我到目前为止所得到的。我的视频在 Bundle 上是正确的,名为video.mov

在此处输入图像描述

我已经尝试过链接和复制。结果相同。

我究竟做错了什么??

非常感谢您提前。


我想避免使用MPMoviePlayerController它,因为它在 iOS9 中已被弃用

4

2 回答 2

0

其实是我的错...

我试图重现别名

当您拥有 20.000 个视频和 30.000 个资源时,就会发生这种情况。

于 2015-11-14T21:44:37.343 回答
-1

不要使用 AVPlayer,而是使用 MPMoviePlayerController 类:

NSString *path = [[NSBundle mainBundle] pathForResource:@"video" ofType:@"mov"]; 

NSURL *url = [NSURL fileURLWithPath:path];

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:url];

[player play];
于 2015-11-13T02:24:44.457 回答