gpt4 book ai didi

ios - 每次触摸屏幕时在 Cocoa 中播放声音

转载 作者:行者123 更新时间:2023-11-29 02:36:36 25 4
gpt4 key购买 nike

每次我在游戏中点击屏幕时,我都试图播放声音...

基本上,每次我的角色跳跃时,我都不想播放一点声音。不幸的是,如果循环(来自上一次跳跃)已经从上一个 session 完成播放,它似乎只播放循环......这意味着我每次触摸屏幕时实际上并没有受到声音影响......

使用这个框架:

 #import <AVFoundation/AVFoundation.h>

这是我加载文件的方式:

 -(void)LoadMusic{
NSString *jumpSound = [[NSBundle mainBundle] pathForResource:@"Burst" ofType:@"mp3"];
jumpAffect = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:jumpSound] error:NULL];
jumpAffect.delegate = self;
}

在 viewDidLoad 中调用它:

 - (void)viewDidLoad{
[self LoadMusic];
...
[super viewDidLoad];
}

这是我想要它播放的时间(每次我触摸屏幕(使角色跳跃)):

 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event{
[jumpAffect play];
jump = 16;
}

是否有什么我忘记启用循环播放的东西?或者如果在下一次触摸发生时它仍在播放,我可以停止循环并重新启动它吗?

最佳答案

尝试这样的事情:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self playJumpSound];
}

- (void)playJumpSound {
AVAudioPlayer *jumpEffect = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:jumpSound] error:NULL];
[jumpEffect play];
}

如果您发现加载声音太慢,请预先加载一些声音,然后重新使用播放器。

关于ios - 每次触摸屏幕时在 Cocoa 中播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26286822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com