0

起動画面が表示された直後にビデオを再生しようとしていますが、上部にステータスバーが表示された黒い画面が表示されます。現時点では、アプリが行うのはこれだけなので、私が知る限り、ビデオの再生を停止する必要はありません。

ビデオは iPad で問題なく再生され、それ以外の場合は正しい形式になっているようです。私は iOS 7 をターゲットにしており、別のビデオを使用してみましたが、代わりに MPMoviePlayerViewController を使用してみました。すべて同じ結果に終わります。

これが私が使用しているコードです。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSURL *movieURL = [[NSBundle mainBundle] URLForResource:@"IntroMovie" withExtension:@"mov"];

    MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];

    [moviePlayer prepareToPlay];

    [self.window addSubview:moviePlayer.view];

    [moviePlayer play];

    return YES;
}
4

2 に答える 2

1

前のものではなく、MPMoviePlayerViewController オブジェクトを作成する必要があります。playMovie メソッドは、makeKeyAndVisible の後に呼び出す必要があります。それでも機能しない場合は、ブレークポイントを追加して、指定されたビデオの URL が正しいかどうか、およびそれがバンドル リソースをコピーします。

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
        [self playMovie];
    return YES;
}


-(void)playMovie
{
    NSURL *movieURL;
    NSBundle *bundle = [NSBundle mainBundle];
    if(bundle != nil)
    {
        NSString *moviePath = [bundle pathForResource:@"intro" ofType:@"m4v"];
        if (moviePath)
        {
            movieURL = [NSURL fileURLWithPath:moviePath];

        }
    }


    moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
    moviePlayer.moviePlayer.controlStyle = MPMovieControlStyleNone;
    moviePlayer.moviePlayer.scalingMode = MPMovieScalingModeFill;
    [self.viewController presentViewController:moviePlayer animated:NO completion:^{

    }];
    [moviePlayer.moviePlayer play];




}
于 2013-10-02T14:41:33.507 に答える
0

タイプミスがなく、プロジェクト設定が正しいと仮定すると、「mov」ファイルの作成に使用されたコーデック内に問題がある可能性があります。他の mov ファイルで試すか、mov ファイルを電話ライブラリに入れて、そこから再生してみてください。

于 2013-10-02T14:09:32.110 に答える