我要救通過TTS SDK生成的音頻文件。 我不知道用NSURL路徑做什麼是正確的方法。音頻文件保存到NSURL
這是代碼,但結果說NO。 如果我不嘗試保存音頻文件,MyAcaTTS正常工作。
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];
Acapela iPhone SDK的文檔。
6.2.3.startSpeakingString:的toURL: 梗概
- (BOOL)startSpeakingString:(的NSString *)字符串的toURL:URL;
說明
起始合成的字符串轉換成聲音(AIFF)文件。 當串的合成正常完成或停止時,該消息 speechSynthesizer:didFinishSpeaking:被髮送到委託。參數 字符串 要合成的文本。當零或空時,不發生合成。 url 輸出聲音文件的Filesystem位置。返回值 合成開始成功時爲YES,否則爲否。
http://www.ecometrixem.com/cms-assets/documents/44729-919017.acapela-for-iphone.pdf
謝謝!它最終創建了一個文件,但它仍然沒有發出任何聲音,它只是一個空的aiff文件。 BOOL結果給出錯誤。也許我需要使用其他文件類型...... –
其實,這是因爲MyAcaTTS只是代碼之前講另一種文字,現在工作得很好,非常感謝你! –
如果我們有2個語句調用[self.MyAcaTTS startSpeakingString:text];第二條語句寫入一個文件時,它不起作用,否則,該文件將被創建爲音頻內容。 NSURL的構建在這裏看起來不是問題。 [self.MyAcaTTS startSpeakingString:短語的toURL:[NSURL fileURLWithPath:文件路徑]]; – Thiru