2010-11-18 18 views
5

Hola a todos, estoy trabajando en una aplicación que registra el sonido del usuario y lo guarda en NSDocumentDirectory. Los archivos de datos se están guardando bien. Pero el problema es que quiero reproducir esos archivos. Estoy usando la vista de tabla para llenarla con el número de archivos en NSDocumentDirectory. Pero la tabla muestra solo una celda del archivo de sonido actual. Estoy cometiendo un error en alguna parte, por favor, ayúdenme. Estoy usando este código para jugar.Cómo leer datos de 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]; 

} 

Dónde recorderFilePath es el camino de la ruta file.The es nuevo cada vez con la ayuda de NSDate frmattor.But no conseguir cómo rellenar la vista de tabla con todos los archivos que se encuentran en el DocumentDirectory.

Please-2 ayúdame ... Soy nuevo en esta tecnología.

Gracias de antemano a todos ........

Respuesta

13

Use un enumerador para simplificar la iteración a través del directorio de Documentos para buscar archivos de música.

 //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 
+0

Hey gracias NP realmente me ayudó y ordenados mi problem.You son realmente gran amigo, aprecio esto ... Espero ayudarme en el futuro también. Bueno, sería bueno si podemos comunicarnos incluso a través del correo electrónico. Mi dirección de correo electrónico es [email protected] – Sabby

+0

Muchas gracias querido :-) –

+0

bueno hombre, buena respuesta –

1

Se necesitan NSFileManager 's contentsOfDirectoryAtPath:error: método para obtener un conjunto de archivos en el directorio de solicitudes. Luego itere sobre esa matriz para encontrar el nombre de archivo que está buscando.

+0

Hey gracias DarkDust, NP solucionado los problem.thanks nuevo para ayudar a la atención me.Take Bro ......... – Sabby

Cuestiones relacionadas