私は何かばかげたことを見逃していると確信していますが、私は一日中これにこだわっています。どんな助けでも大歓迎です。iPadアプリにビデオを埋め込もうとしていました。私はxcode 4.2.5を使用しています。ここで見つけたチュートリアルに従っています:埋め込まれたiPadビデオ
私が知る限り、指示には正確に従いました。何度かやり直しました。以前はメモリ エラーが発生していましたが、今回はまったくエラーが発生しません。映像も音声もありません。私が使用しなかったチュートリアルの唯一の部分は、iPad の回転に関する最後の部分でした。
xcode 4.5.2 では作成されないため、私が正確に理解できなかった唯一の部分は、リソース フォルダーにビデオを配置することでした。そのため、MOVIE.MOV を、.h、.m、および .xib ファイルが自動的に配置されたのと同じディレクトリに配置しました。ビデオをテストしたところ、単独で動作します。
コードは次のとおりです。ヘルプやガイダンスをいただければ幸いです。こんなNOOBでごめんなさい。
ヘッダー:
#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];
}
助けてくれてどうもありがとう。