3

我确信我只是错过了一些愚蠢的东西,但我整天都被困在这上面。任何帮助,将不胜感激。我试图在 ipad 应用程序中嵌入视频。我正在使用 xcode 4.2.5。我正在关注我在这里找到的教程:embeded ipad video

据我所知,我完全按照说明进行操作。我已经重新开始了好几次。在我收到内存错误之前,但这次我根本没有收到任何错误。只有没有视频或音频。我没有使用的教程的唯一部分是关于 ipad 旋转的最后一部分,因为我并不担心。

我无法完全理解的唯一部分是将视频放在资源文件夹中,因为 xcode 4.5.2 没有制作视频。因此,我将 MOVIE.MOV 放在与我的 .h、.m 和 .xib 文件自动放入的同一目录中。我已经测试了视频,它确实可以自己运行。

这是代码:任何帮助或指导将不胜感激。很抱歉成为这样的菜鸟。

标题:

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>
@interface ViewController : UIViewController{

}
-(IBAction) playMovie;
@end

主要的:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
-(void)playMovie
{
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                     pathForResource:@"MOVIE" ofType:@"MOV"]];
    MPMoviePlayerController *moviePlayer =
    [[MPMoviePlayerController alloc]
    initWithContentURL:url];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(moviePlayBackDidFinish:)
                                             name:MPMoviePlayerPlaybackDidFinishNotification
                                           object:moviePlayer];

    moviePlayer.controlStyle = MPMovieControlStyleDefault;
    moviePlayer.shouldAutoplay = YES;
    [self.view addSubview:moviePlayer.view];
    [moviePlayer setFullscreen:YES animated:YES];
}
- (void) moviePlayBackDidFinish:(NSNotification*)notification {

    MPMoviePlayerController *moviePlayer = [notification object];

    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                name:MPMoviePlayerPlaybackDidFinishNotification
                                              object:moviePlayer];

    if ([moviePlayer
         respondsToSelector:@selector(setFullscreen:animated:)])
    {
        [moviePlayer.view removeFromSuperview];
    }    
    [moviePlayer release];
}

非常感谢您的帮助。

4

1 回答 1

3

您可以检查的一些事项:

  • 当您将影片拖到 Xcode 项目上时,您是否选中了“将项目复制到目标组文件夹”?
  • 该项目是否出现在“复制捆绑资源”构建阶段?(单击项目,选择您的目标并检查 Xcode 中的“构建阶段”选项卡)
  • 路径字符串在 iOS 上区分大小写。你的电影真的有文件名“MOVIE”和扩展名“MOV”(全部大写)吗?
于 2013-01-16T22:15:13.753 回答