同时播放2个音频Objective-C

时间:2019-02-27 14:57:04

标签: ios objective-c audio avplayer

我有一个AVPlayer,它通过摄像机实时运行,并且我想在用户触摸按钮进行快照时播放另一种音频(摄像机快照音频效果)

所以我添加了这段代码

- (void)screenFlash {
NSString *soundFilePath = [NSString stringWithFormat:@"%@/Snapshoot.m4a",[[NSBundle mainBundle] resourcePath]];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];

AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
player.numberOfLoops = 1;

[player play];

UIView *flash = [[UIView alloc] initWithFrame:self.view.frame];
flash.backgroundColor = UIColor.whiteColor;
flash.alpha=1;

[self.view addSubview:flash];

[UIView animateWithDuration:0.3 animations:^{
    flash.alpha=0;
} completion:^(BOOL finished) {
    [flash removeFromSuperview];
}];
}

如果我在[播放器播放]之前放置一个断点,则声音听起来很完美,但是如果我禁用该断点,则声音将无法再现。

有人知道为什么吗?我可以同时播放两个音频(相机音频和快照效果)吗?

1 个答案:

答案 0 :(得分:0)

您可以使用类似的方法来播放相机快照音频效果。 对我来说很完美。

 #import <AudioToolbox/AudioToolbox.h>
 ......................................
 AudioServicesPlaySystemSound(1108);