首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >播放AVAudioPlayer会导致延迟

播放AVAudioPlayer会导致延迟
EN

Stack Overflow用户
提问于 2012-01-03 21:03:07
回答 2查看 683关注 0票数 1

我使用AVAudioPlayer对象来播放一个aif声音文件,该文件应该在游戏结束前继续播放。我有一个名为backgroundPlayer的AVAudioPlayer的ivar,我在viewDidLoad方法中设置了它:

代码语言:javascript
复制
-(void)viewDidLoad{
 NSURL *backgroundURL=[NSURL fileURLWithPath:[[NSBundle        
 mainBundle]pathForResource:@"bgLoop" ofType:@"aif"]];
 backgroundPlayer=[[[AVAudioPlayer alloc] initWithContentsOfURL:backgroundURL    
                                                               error:nil] retain];
 backgroundAudioPlayer.numberOfLoops=-1;

}

然后我用viewWillAppear方法播放它:

代码语言:javascript
复制
-(void)viewWillAppear:(BOOL)animated{    
    TrafficAppDelegate *delegate=[UIApplication sharedApplication].delegate;
     if (delegate.shouldPlaySFX)
       [backgroundPlayer play];
} 

这一切都设置好了,当我按下按钮将视图控制器推入堆栈时,我挂起了大约2-3秒,只有在这之后视图才会出现。如果我在viewWillAppear方法中注释backgroundPlayer play命令,延迟就会消失。我不应该使用AVAudioPlayer类来播放这种声音吗?我的意思是声音可以持续几分钟,即使是hours.If选择也不是问题,那么是什么导致延迟呢?提前感谢

EN

回答 2

Stack Overflow用户

发布于 2012-01-31 19:09:30

在代码中添加backgroundPlayer prepareToPlay后,您是否尝试过这种情况?我相信这会解决延迟的问题。

票数 2
EN

Stack Overflow用户

发布于 2012-02-23 03:03:31

它发生在你第一次尝试播放声音的时候。你可以在你的应用程序代理中播放简短的无声声音,让AVAudioPlayer在你真正需要它的时候做出响应。

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

https://stackoverflow.com/questions/8712714

复制
相关文章

相似问题

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