save el file de audio en NSURL

Quiero save el file de audio generado por TTS SDK. No estoy seguro de cuál es la forma correcta de hacerlo con la ruta NSURL.

Este es el código, pero el resultado dice NO. Si no bash save el file de audio, MyAcaTTS funciona bien.

NSString *FileNamePath = [[NSBundle mainBundle] pathForResource:@"testAudio" ofType:@"aiff"]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *appSettingsPath = [documentsDirectory stringByAppendingPathComponent:FileNamePath]; NSURL *url=[[NSURL alloc]initWithString:appSettingsPath]; BOOL result = [MyAcaTTS_ startSpeakingString:@"testing" toURL:url]; 

Documento de Acapela iPhone SDK.

6.2.3.startSpeakingString: toURL: Sinopsis

  • (BOOL) startSpeakingString: (NSString *) string toURL: url;

Descripción

Empieza sintetizando una cadena en un file de sonido (AIFF). Cuando la síntesis de cadena termina normalmente o se detiene, el post speechSynthesizer: didFinishSpeaking: se envía al delegado. Parámetros cadena Texto para sintetizar. Cuando está vacío o nulo, no se produce ninguna síntesis. url Ubicación del sistema de files del file de sonido de salida. Valor devuelto SÍ cuando la síntesis se inicia correctamente, NO de lo contrario.

http://www.ecometrixem.com/cms-assets/documents/44729-919017.acapela-for-iphone.pdf

Hay dos cosas que debe tener en count en su código:

  1. La línea NSString *FileNamePath = [[NSBundle mainBundle] pathForResource:@"testAudio" ofType:@"aiff"]; no es necesario ya que devuelve la ruta completa del file mientras solo necesita la última parte: "testAudio.aiff"

  2. Usted construye un object URL con strings aceptadoras de constructor con un prefijo de protocolo válido, como "http: //" o "ftp: //" mientras que necesita otro constructor llamado initFileURLWithPath: lugar.

Entonces, con todo lo anterior, su código puede verse así:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *appSettingsPath = [documentsDirectory stringByAppendingPathComponent:@"testAudio.aiff"]; NSURL *url=[[NSURL alloc]initFileURLWithPath:appSettingsPath]; BOOL result = [MyAcaTTS_ startSpeakingString:@"testing" toURL:url];