0

我正在制作一个视频交付应用程序并在以下目录结构中发送一堆文件:

主页/第 1 周/第 1 天/123.mp4,abc.mp4,42343.mp4 主页/第 1 周/第 2 天/123.mp4,xyz.mp4

等我需要维护目录结构并播放相应的文件。注意:不同文件夹中有多个同名文件。

当前代码:我将 Home 文件夹拖入 xcode 到其他源文件夹中 > 该操作将文件复制到项目目录中并添加了引用。这是我为在家中第 1 周的第 1 天播放视频“abc”而编写的代码。

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 回答