0

アプリケーション バンドルにある QT ムービーを実行しようとしています。それを機能させることはできません。誰かがアドバイスできますか?

ありがとう。

ポール

-(IBAction)runInternalMovie:(id)sender

[


NSString *internalPath;
NSURL *internalURL;
QTMovie *internalMovie;



internalPath = [[NSBundle mainBundle] pathForResource: @"bundledMovie" 
ofType: @"mp4"];
internalURL = [NSURL fileURLWithPath: internalPath];
internalMovie = [[QTMovie alloc] initWithURL: internalURL byReference: YES];

}
4

2 に答える 2

2

一つには、initWithURL:byReference:方法がない。QTMovie オブジェクトを作成するには多くの方法がありますが、いずれもbyReference:パラメーターを持たず、すべて ( を除く)出力パラメーター+movieを取ります。error:

ムービーをロードしたら、それをQTMovieViewに渡して表示する必要があります。このようなビューを作成する最も簡単な方法は IB で、ライブラリ パネル (QuickTime キット セクション) から xib の 1 つのウィンドウにドラッグすることです。

次に、コントローラにムービー ビューへのアウトレットを用意し、ムービーのsetMovie:作成後にムービー ビューにメッセージを送信するか、ムービー ビューの「ムービー」プロパティをコントローラのプロパティにバインドします。

于 2010-01-16T09:12:46.463 に答える
1

私は常にinitWithFile:QTMovie の方法を 使用します。

NSError* error = nil;
NSString* moviePath = [NSBundle pathForResource:@"bundledMovie" ofType:@"mp4" inDirectory:[[NSBundle mainBundle] bundlePath]];
QTMovie* movie = [QTMovie movieWithFile:moviePath error:&error];
if(movie != nil)
{
    [movieView setMovie:movie]; 
}
else 
{
    NSLog(@"Error loading movie: %@", [error localizedDescription]);
}

アップデート:

NSURL を使用する場合は、次を使用します。

NSError* error = nil;
QTMovie* movie = [QTMovie movieWithURL:[[NSBundle mainBundle] URLForResource:@"bundledMovie" withExtension:@"mp4"] error:&error];
if(movie != nil)
{
    [movieView setMovie:movie]; 
}
else 
{
    NSLog(@"Error loading movie: %@", [error localizedDescription]);
}
于 2010-01-16T08:12:34.030 に答える