Cocos2d iphone 将“朗读”功能添加到Cocos2D编写的图书应用程序中

Cocos2d iphone 将“朗读”功能添加到Cocos2D编写的图书应用程序中,cocos2d-iphone,avaudioplayer,Cocos2d Iphone,Avaudioplayer,我创建了一个图书应用程序,并使用Cocos2D和物理引擎Chipmunk来创建它。我想增加朗读功能。 到目前为止,我找到了使用iBook Author创建图书时如何添加朗读功能的说明/书籍和教程,但由于使用Epub3和SMIL的一些限制,我无法使用iBook Author。 我还从J.Shapiro那里找到了一个很好的教程,教我如何使用AVSpeechSynthesis制作叙事书。这很有帮助,只是我想使用录制的声音,而不是合成的声音。我不知道这个方法是否可以修改成这样? 我也知道如何在Sprit

我创建了一个图书应用程序,并使用Cocos2D和物理引擎Chipmunk来创建它。我想增加朗读功能。 到目前为止,我找到了使用iBook Author创建图书时如何添加朗读功能的说明/书籍和教程,但由于使用Epub3和SMIL的一些限制,我无法使用iBook Author。 我还从J.Shapiro那里找到了一个很好的教程,教我如何使用AVSpeechSynthesis制作叙事书。这很有帮助,只是我想使用录制的声音,而不是合成的声音。我不知道这个方法是否可以修改成这样? 我也知道如何在Sprite工具包框架中实现。 我唯一找不到的信息是如何将朗读功能添加到使用Cocos2D编写的应用程序中。它可以在SimpleAudioEngine中完成,或者可以与其他引擎结合使用(可能来自Sprite工具包框架)? 如果有人能给我一些参考资料/指点或教程链接,我会非常感激,在哪里可以找到一些关于如何添加此功能的答案。 先谢谢你

我想使用录制的声音,而不是合成的声音

好。将您的录音音频文件caf、wav或mp3格式添加到项目中。在适当的时间使用以下方法播放:

[[SimpleAudioEngine sharedEngine] playEffect:@"someVoiceRecordingFile.wav"];

定义“大声朗读”对你意味着什么,因为我发现很多术语,特别是像这样的半模糊术语,根据使用它的人的不同而使用不同

当你说“朗读书”时,你的意思是一本数字故事书,它通过简单地播放叙述音频向你朗读故事吗?我已经创建了几十个这样的程序,根据您在书中要使用的功能,您所要求的程序有多个步骤。如果你的意思是简单地播放音频,就是这样,那么你可以在cocos2d中使用SimpleAudioEngine作为一个选项,但是我假设你已经知道这就是为什么这个问题有点模糊的原因。无论哪种方式,你都可能不想把叙述作为一种效果,而是将其流式播放。要在播放背景音乐的同时播放背景音乐,您可以通过左声道播放背景音乐,通过右声道播放旁白。您可以很容易地向SimpleAudioEngine添加一个方法,以使其美观整洁。为了让您开始,可以使用类似的方法访问正确的频道:

CDLongAudioSource* sound = [[CDAudioManager sharedManager] audioSourceForChannel:kASC_Right];

if ([sound isPlaying])
{
    [sound stop];
}

[sound load:fileName];
此外,对于流式音频(如aifc或真正的所有音频),请使用正确的设置和推荐的格式。虽然我相信你可以在不解压缩的情况下播放mp3,但问题在于时间。如果您使用突出显示的文本或循环音频,那么aifc是更好的选择。就我个人而言,我从来没有理由使用mp3。带旁白的Wav是我会避免的,即使只是为了增加文件大小。如果mp3被解压,即使是流媒体播放,我也不确定它是否在我的脑海中,那么你的内存会有一个巨大的峰值,这将是非常不需要的,有时甚至是非常糟糕的

还有很多其他的事情可以做,但这些是基本的第一步。如果你想做一些事情,比如突出显示的文本、每字动画等等,那当然需要做更多的工作,你需要熟悉cocos2d、SpriteKit或任何你决定使用的东西。很快有一天我会做一个关于它的系列教程,所以我会涵盖所有这些内容


另一方面,如果您正在谈论录制某人的声音并让其播放,即母亲录制自己阅读的故事,以便她的孩子在使用您的应用程序时可以听到她的声音,那么您只需像录制任何其他音频一样录制音频,并将其保存到设备中,并在页面以正确的阅读模式或您个人称之为的任何模式显示时播放。一个值得一看的地方是AVAudioRecorder,它是AVFoundation框架的一部分。如果您需要,只需使用谷歌iOS音频录制作为示例。

非常感谢您提供的信息,是的,我想为文本中每个突出显示的单词添加录制的声音,就像在SMIL/EPUB3中所做的那样,但我找不到如何在cocos2D环境中执行此操作的信息。请让我知道你的教程何时可用,以及我可以在哪里阅读它们。