如何在ios(Cocos2d)中将字符串转换为音频(声音)文件?

Posted

技术标签:

【中文标题】如何在ios(Cocos2d)中将字符串转换为音频(声音)文件?【英文标题】:How to convert String to Audio (Sound) file in ios (Cocos2d)? 【发布时间】:2014-02-07 08:55:24 【问题描述】:

有什么方法可以在 ios 中将字符串(字符)转换为音频文件?我的问题是我有一个字符串,我想将该字符串转换为声音文件,是否可以不使用使用任何第三方 api

提前致谢.....

【问题讨论】:

可能重复:***.com/questions/416064/text-to-speech-on-iphone @Ajay.对不起,我的问题不完整。我的意思是没有第三方 API。 @Ajay,我试过这个 ESpeakEngine 和 fliteEngine 1.4 第三方 API。Apple 不接受吗?还有一个认为它正在使用我可以设置像小女孩或男孩的声音(喜欢孩子的声音)吗? 【参考方案1】:

是的,在 iOS 7 中,AVSpeechSynthesizer 类从 iOS 设备上的文本生成合成语音,并提供控制或监视正在进行的语音进度的方法。

编辑:只需在您的项目中添加 AVFoundation 框架, 添加导入语句#import <AVFoundation/AVFoundation.h> 并执行这段代码:

AVSpeechSynthesizer *speechSynthesizer = [[AVSpeechSynthesizer alloc]init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"Really, its very easy."];
[utterance setRate:0.5f];
[speechSynthesizer speakUtterance:utterance];

【讨论】:

是否可以与 cocos2d 游戏引擎一起使用?在 cocos2d 3.0 中,我使用 OALSimpleAudio 播放器播放所有文件。 我真的不知道cocos2d和游戏开发,但我认为你可以在使用cocos2D的同时使用任何iOS SDK方法。 Cocos2D 建立在官方的 Apple SDK 之上——它并不妨碍你使用任何 Apple 的东西。 ,我试过这个 ESpeakEngine 和 fliteEngine 1.4 第三方 Api。Apple 不接受吗?还有一个认为它正在使用我可以设置为像小女孩或男孩一样的声音(喜欢孩子的声音)。 使用 AVSpeechSynthesizer 可以设置男声/女声。它提供了这些选项 [AVSpeechSynthesisVoice speechVoices]。对于儿童声音,您可以尝试不同的声音、音量和音高,但我不确定。而且我认为 Apple 不会拒绝使用第三方 API,只要它们符合他们的指导方针。 非常感谢您的重播。【参考方案2】:

AVSpeechSynthesizer 教程 – Letting Your App Speak Like Siri

avspeechsynthesizer-ios-text-speech-ios-7

但这仅适用于 iOS 7

sample app

【讨论】:

是否可以与 cocos2d 游戏引擎一起使用?在 cocos2d 3.0 中,我使用 OALSimpleAudio 播放器播放所有文件。 ,我试过这个 ESpeakEngine 和 fliteEngine 1.4 第三方 Api。Apple 不接受吗?还有一个认为它正在使用我可以设置为像小女孩或男孩一样的声音(喜欢孩子的声音)。 对不起,我不知道【参考方案3】:

在之前版本的IOS 7使用长笛库http://artofsystems.blogspot.in/2009/02/speech-synthesis-on-iphone-with-flite.html

对于 IOS 7,文本到语音转换的内置功能 avspeechsynthesizer-ios-text-speech-ios-7

【讨论】:

以上是关于如何在ios(Cocos2d)中将字符串转换为音频(声音)文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ruby 中将 IO 对象转换为字符串?

如何将afnetworking json字典转换为字符串,然后在IOS中将字符串转换为字典?

如何使用 c# 在 Xamarin.Ios 中将 UIColor 转换为字符串和字符串转换为 UIColor

如何在swift(ios)中将字符串格式的日期转换为另一种字符串格式[重复]

如何在 django 中将 blob url 转换为 mp3 音频

如何在IOS中将视频文件转换为Base64字符串?