0

私はビデオ配信アプリケーションを作成し、次のディレクトリ構造で一連のファイルを送信しています:

ホーム/週 1/日 1/123.mp4,abc.mp4,42343.mp4 ホーム/週 1/日 2/123.mp4,xyz.mp4

ディレクトリ構造を維持し、適切なファイルを再生する必要があります。注: 異なるフォルダーに同じ名前の複数のファイルがあります。

現在のコード: ホーム フォルダーを xcode の他のソース フォルダーにドラッグし、アクションによってファイルがプロジェクト ディレクトリにコピーされ、参照が追加されました。これは、ビデオ「abc」を day1 から week1 に自宅で再生するために作成したコードです。

NSString* p = @"home/Week 1/Day 1/abc";

NSString* moviePath2 = [[NSBundle mainBundle] pathForResource:@"Home/Week 1/Day 1/abc" ofType:@"mp4"];
NSURL* movieURL2=[NSURL fileURLWithPath:moviePath2];

この場合、moviePath2 は Empty として取得されます。

このコードを実行すると:

NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSApplicationDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *filePath = [docsDirectory stringByAppendingPathComponent:p];
    if(![fileManager fileExistsAtPath:filePath])
    {
        NSLog(@"exists");
    }

コンソールに存在を出力します。

これに対する解決策を教えてください。ディレクトリ構造をビデオでパッケージ化する私のアプローチは正しいですか?? 助けてくれてありがとう。

4

1 に答える 1

1

ムービー名だけでムービーにアクセス

NSURL* movieURL2=[NSURL fileURLWithPath: p];  

または、メインバンドルからアクセスしたい場合は、ムービーをそのパスにコピーする必要があります

[fileManager copyItemAtPath:moviePath2 toPath:filePath error:nil];
于 2012-12-09T11:55:14.580 に答える