gpt4 book ai didi

iphone - 将音频文件保存到 NSURL

转载 作者:行者123 更新时间:2023-12-03 19:54:18 25 4
gpt4 key购买 nike

我想保存TTS SDK生成的音频文件。我不确定使用 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 *)string toURL:url;

描述

开始将字符串合成为声音 (AIFF) 文件。当字符串合成正常完成或停止时,消息voiceSynthesizer:didFinishSpeaking: 发送给委托(delegate)。参数字符串要合成的文本。当 nil 或为空时,不会发生合成。网址输出声音文件的文件系统位置。返回值YES表示合成成功,否则NO。

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

最佳答案

在代码中需要考虑两件事:

  1. 该行NSString *FileNamePath = [[NSBundle mainBundle] pathForResource:@"testAudio"ofType:@"aiff"];不是必需的,因为它返回文件的完整路径,而您只需要文件的最后一部分:“testAudio.aiff”

  2. 您可以使用接受具有有效协议(protocol)前缀的字符串(例如“http://”或“ftp://”)的构造函数来构造 URL 对象,而您需要另一个名为 initFileURLWithPath: 的构造函数。

因此,有了上述所有内容,您的代码可能如下所示:

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];

关于iphone - 将音频文件保存到 NSURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com