5

私は、ドキュメントディレクトリにダウンロードされたビデオファイルを再生するようにアプリケーションを取得しようとしています。Cocoa-TouchでDocumentsディレクトリからダウンロードしたビデオを再生する

-(IBAction)play{ 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"]; 

NSURL *movieURL = [NSURL fileURLWithPath:path]; 


_player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 
[self.view addSubview:_player.view]; 

_player.controlStyle = MPMovieControlStyleDefault; 
_player.shouldAutoplay = YES; 


[_player setFullscreen:YES animated:YES]; 


[_player play]; 

} 
+0

あなたは%の@ /を必要としないNSStringの*パス定義に誤りがあります。しかし、出力やエラーがコンソールから取得された場合は、それは何であるかは述べていません。 – Panagiotis

+0

これはアプリケーションのバンドルではなく、ドキュメントディレクトリに存在しますか?私はバンドルからちょうど良いビデオを読み込むことができます。 – CodaFi

+0

アドバイスの1つの言葉:新しいストレージガイドライン(最終行:バックアップが遅く/重い)に従って、/ Documentsにビデオを保存するために私のアプリが拒否されました。 **あなたがiOS 5.0.1以上をターゲットにしている場合は、/ Documents内のサブディレクトリに 'スキップバックアップ'とフラグを立てることができます。それ以外の場合、唯一のオプションは/キャッシュに保存することです(削除されたときにビデオを再ダウンロードする方法を工夫してください) –

答えて

0

問題は、この行を次のようになります:私は、ファイルをダウンロードしたばかりですけど、私は再生するファイルを取得するように見えることはできませんが、ここに私のコードですNSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"];

変更することをNSString *path = [documentsDirectory stringByAppendingPathComponent:@"piggy.m4v"];

+0

@untitled:あなたは何を得ていますか? –

+0

私はコンソールから上記の出力を得て、私はちょうど再びアプリケーションを実行し、また、このエラーが発生しました再生モードを 'AVAudioSessionModeDefault'に設定するエラー(null) – untitled

11

これはバグのいくつかの種類のように見えますが、あなたはそのようなあなたのパスを設定する必要があります。

NSString *vidPath = [[NSBundle mainBundle] pathForResource:@"promo" ofType:@"mp4"]; 
NSURL *url = [NSURL fileURLWithPath:vidPath isDirectory:NO]; //THIS IS THE KEY TO GET THIS RUN :) 
[introPlayer setContentURL:url]; 
+0

ありがとうsooo。あなたは私を救いました – cantfindaname88

関連する問題