5

大家好,我正在开发一个记录用户声音并将其保存到 NSDocumentDirectory 的应用程序。数据文件保存得很好。但问题是我想播放这些文件。我正在使用表格视图来填充它NSDocumentDirectory 中的文件数。但该表仅显示当前声音文件的一个单元格。我在某处做错了,请帮帮我。我正在使用此代码玩。

-(void)PlayAudio
{


    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSLog(@"strffdsa %@",documentsDirectory);
    NSURL *fileURL = [NSURL fileURLWithPath:recorderFilePath];

    player =    [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: nil];
    player.numberOfLoops = 0;
    //[fileURL release];

    [player play];
    [player setDelegate: self];

}

其中 recorderFilePath 是文件的路径。在 NSDate frmattor 的帮助下,路径每次都是新的。但不知道如何使用 DocumentDirectory 中的所有文件填充表格视图。

Please-2 帮帮我...我是这项技术的新手。

在此先感谢大家........

4

2 回答 2

13

使用枚举器来简化遍历 Documents 目录以搜索音乐文件。

        //Use an enumerator to store all the valid music file paths at the top level of your App's Documents directory
        NSDirectoryEnumerator *directoryEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:documentsDirectory];

        for (NSString *path in directoryEnumerator) 
        {
            //check for all music file formats you need to play
            if ([[path pathExtension] isEqualToString:@"mp3"] || [[path pathExtension] isEqualToString:@"aiff"] ) 
            { 
                [myMusicFiles addObject:path];         
            }
        }

        //the NSArray 'myMusicFiles' will be the datasource for your tableview
于 2010-11-18T12:53:56.137 回答
1

您需要NSFileManager'scontentsOfDirectoryAtPath:error:方法来获取请求目录中的文件数组。然后遍历该数组以找到您要查找的文件名。

于 2010-11-18T12:36:52.397 回答