目前我正在使用文本到语音应用程序,使用FliteTTS来开发它并且工作正常。
Class FliteTTS
-(void)speakText
{
[audiplayer Play];
}
-(void)stopTalking
{
[audioPlayer stop];
[audioPlayer release];
}
Class B
-(void)TouchToPlay
{
[self runFlite:ScriptDetails.text]; // Play audioplyer in FliteTTS
}
-(void)StopPlaying
{
FliteTTS *flit = [[FliteTTS alloc]init];
[flit stopTalking];
}
然后我试图阻止audioplayer从B类到FliteTTS类,但它没有停止,如何阻止这个?请帮帮我。
先谢谢
答案 0 :(得分:0)
下面:
-(void)StopPlaying{
FliteTTS *flit = [[FliteTTS alloc]init];
[flit stopTalking]; }
你正在制作你的FliteTTS课程的新实例,这不是播放你的音频的实例,所以它不会停止,你可以尝试将你的FliteTTS课程设为单身,这样它就能让你返回一个实例在项目中,这将为您提供播放/停止的访问权限,或者从您想要的任何课程中执行任何其他控制操作。
答案 1 :(得分:0)
audiplayer
的新实例时,出现的对象FliteTTS
都会被初始化,因此您必须使audiplayer
为静态并使用单例来提供对{的访问权限{1}}实例。