5

みなさん、こんにちは。ユーザーのサウンドを録音してNSDocumentDirectoryに保存するアプリケーションに取り組んでいます。データファイルはうまく保存されていますが、問題はそれらのファイルを再生したいということです。これにテーブルビューを使用してデータを入力しています。 NSDocumentDirectory内のファイルの数。ただし、表には現在のサウンドファイルのセルが1つしか表示されていません。どこかで間違いを犯しています。助けてください。私はこのコードを使ってプレイしています。

-(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にあるすべてのファイルをテーブルビューに入力する方法がわかりません。

お願いします-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のメソッドが必要です。contentsOfDirectoryAtPath:error:次に、その配列を繰り返し処理して、探しているファイル名を見つけます。

于 2010-11-18T12:36:52.397 に答える