首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iPhone的不同类中停止AVAudioPlayer?

如何在iPhone的不同类中停止AVAudioPlayer?
EN

Stack Overflow用户
提问于 2012-11-08 17:45:36
回答 2查看 199关注 0票数 0

目前我正在从事文本到语音应用程序的工作,使用FliteTTS来开发它,并且它工作得很好。

代码语言:javascript
复制
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类,但它没有停止,如何停止?请帮帮我。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-08 18:09:18

这里:

代码语言:javascript
复制
-(void)StopPlaying{
     FliteTTS *flit = [[FliteTTS alloc]init];
     [flit stopTalking]; }

你正在创建你的FliteTTS类的新实例,而这不是播放你的音频的实例,所以不会让它停止,你可以试着让你的FliteTTS类成为单例,这样它就会在整个项目中返回给你一个实例,这样你就可以从任何你想要的类中访问播放/停止或执行任何其他控制操作。

票数 0
EN

Stack Overflow用户

发布于 2012-11-08 18:20:15

每次创建类FliteTTS的新实例时,对象audiplayer都会被初始化,因此必须将audiplayer设为静态,并使用单例来提供对audiplayer实例的访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13286412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档