7

私はIOSアプリ(Storyoardを使用)に取り組んでいます。私はViewControllerを持っています:

//movieViewController.h

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>

@interface movieViewController : UIViewController {

    MPMoviePlayerViewController *moviePlayer;

}

@property (strong, nonatomic) MPMoviePlayerViewController *moviePlayer;
-(void) playMovie;

@end


//movieViewController.m
- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view.
    [self playMovie];
}

-(void)playMovie
{
    NSString *videoPath = [[NSBundle mainBundle] pathForResource:@"movie"
                                                      ofType:@"mov"];

    moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL
                                                     fileURLWithPath:videoPath]];
[self presentMoviePlayerViewControllerAnimated:moviePlayer];
}

実行すると、viewController に "Loading..." というメッセージが表示され、それには永遠に時間がかかります。 ここに画像の説明を入力

4

2 に答える 2

1

-prepareToPlayand/orを呼び出す必要があります-play。PerMPMoviePlayerControllerのドキュメント:

iOS 5.0 以降では、よりきめ細かい再生制御を容易にするために、新しいムービー プレーヤーは自動的に再生する準備ができていません。

于 2013-04-08T21:13:26.470 に答える
0
-(IBAction)startVideo:(id)送信者
{
    NSURL *video = [[NSURL alloc] initWithString:@"http://www.w3schools.com/html/movie.mp4"];
    MPMoviePlayerViewController *controller = [[MPMoviePlayerViewController alloc]initWithContentURL:video];
    controller.view.frame = CGRectMake(20, 50, 280, 180);

    controller.movi​​ePlayer.view.center = self.view.center;
    [self.view addSubview:controller.view];

    [controller.movi​​ePlayer prepareToPlay];
    [controller.movi​​ePlayer再生];
}
于 2015-03-05T07:11:02.407 に答える