首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测SimpleAudioEngine中当前是否正在播放音效

检测SimpleAudioEngine中当前是否正在播放音效
EN

Stack Overflow用户
提问于 2011-09-16 19:52:01
回答 1查看 2.6K关注 0票数 6

我想检测一下SimpleAudioEngine sharedEngine当前是否正在播放特效。对于背景音乐,有一种方法可以提供背景音乐是否正在播放的信息:

代码语言:javascript
复制
[[SimpleAudioEngine sharedEngine] isBackgroundMusicPlaying];

音效也有类似的东西吗?如果不是,我如何才能检测到我是否已经在播放效果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-16 22:29:25

SimpleAudioEngine没有像isBackgroundMusicPlaying这样的方法来实现效果,但是您可以存储一个名为isPlaying的BOOL并使用CDSoundSource

代码语言:javascript
复制
CDSoundSource* currentSound = [[CDAudioManager sharedManager] audioSourceForChannel:kASC_Right];
[currentSound load:audioFile];
currentSound.delegate = self;
currentSound.backgroundMusic = NO;
isPlaying = YES;
[currentSound play];

然后实现回调:

代码语言:javascript
复制
- (void) cdAudioSourceDidFinishPlaying:(CDLongAudioSource *) audioSource {
    isPlaying = NO;
}

我不知道这是否是初始化CDSoundSource的正确方法,因为我不知羞耻地从this topic那里窃取了代码。也许你应该看看CDAudioManager Class Reference

希望这篇文章能帮助你找到正确的方向。

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

https://stackoverflow.com/questions/7444252

复制
相关文章

相似问题

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