Xcode中重复声音的问题

Posted

技术标签:

【中文标题】Xcode中重复声音的问题【英文标题】:Issue with repeating sound in Xcode 【发布时间】:2012-09-13 18:39:29 【问题描述】:

当一帧撞到另一帧时,它会播放声音,所以我在 did 加载器中使用此代码来加载声音

我使用框架

#import <AVFoundation/AVFoundation.h>

- (void)viewDidLoad

 NSString *path1 = [[NSBundle mainBundle] pathForResource:@"ballbounce" ofType:@"mp3"];
theaudio1 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path1] error: NULL];

然后用它来播放声音

[audio1 play];

但有时声音不播放,声音片段只有 0.7 秒长,只是发出简单的噪音。

喜欢

enemy.center = CGPointMake(enemy.center.x+pos.x,enemy.center.y+pos.y);

    if (enemy.center.x > 308 || enemy.center.x < 10)

    
        [theaudio1 play];
        pos.x = -pos.x;

    
    if (enemy.center.y > 400 || enemy.center.y < 100)
    
        [theaudio1 play];
        pos.y = -pos.y ;
    

声音有时会快速连续播放,有时声音不播放是否有更好的方法可以编写此代码?

【问题讨论】:

【参考方案1】:

在调用play 之前,先在AVAudioPlayer 实例上调用prepareToPlay 方法。它预加载音频播放器的缓冲区。

此外,如果可以的话,请让您的播放器从记忆中播放,因为它只是一个很短的声音。请参阅AVAudioPlayer 类文档中的initWithData:error 方法描述。

【讨论】:

以上是关于Xcode中重复声音的问题的主要内容,如果未能解决你的问题,请参考以下文章

NSBundle错误Xcode 8 [重复]

将声音添加到 Xcode 4.3 [关闭]

在 Xcode 中播放音效

播放随机声音而不重复

在 Swift 中重复播放声音文件?

用 Python 播放声音 [重复]