0

基本的なムービーを iPhone アプリで再生しようとしています。しかし、私はそれを機能させることができないようです。ここに私のコード全体があります:

#import <MediaPlayer/MediaPlayer.h>
#import "ViewController.h"

@implementation ViewController

- (IBAction)playMoviePressed:(id)sender
{
    NSURL *url = [NSURL URLWithString:@"http://www.ebookfrenzy.com/ios_book/movie/movie.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];
    [moviePlayer prepareToPlay];
    [moviePlayer play];
}


@end

playMoviePressedタップすると呼び出されるボタンが画面に 1 つあります。このメソッドが呼び出されることはわかっています。xcodeにドラッグしたローカルファイルでもこれを.mov試しました。.mp4

4

3 に答える 3

3

フレームを追加してビデオを再生するコードを取得しました。

[moviePlayer.view setFrame:CGRectMake(0, 0, 320, 200)];

ただし、ビデオは途切れ途切れでしたが、それは私のインターネット接続である可能性があります. IBAction を使用していることを確認すると、Interface Builder または Storyboard を使用している可能性が高いため、IBOutlet への接続が失われていることが再生を妨げていると私が考えることができる唯一のことです。

于 2012-09-16T06:02:17.313 に答える
1

フル スクリーン モードが必要な場合は、単純に MPMoviePlayerViewController を使用して、次のようにします。

MPMoviePlayerViewController* viewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:viewController];
于 2012-09-16T08:56:22.987 に答える
0

私はそれを考え出した。私の問題は本当に愚かでした。MPMoviePlayerViewController への強力なポインターを維持していないため、メソッドが終了するとすぐに割り当てが解除されます。シンプルな@propertyインターフェースがこれを解決します。

于 2012-09-16T15:28:19.440 に答える