同时播放2个音频objective-c

Posted

技术标签:

【中文标题】同时播放2个音频objective-c【英文标题】:Play 2 audios at same time objective-c 【发布时间】:2019-02-27 14:57:03 【问题描述】:

我有一个 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】:

您可以使用类似的东西来播放相机快照音频效果。 非常适合我。

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

【讨论】:

以上是关于同时播放2个音频objective-c的主要内容,如果未能解决你的问题,请参考以下文章

多个音频文件同时 iphone

使用 naudio 动态播放音频文件

依次播放两个音频文件

混合 2 个音频文件

关于音频焦点的理解

在javascript中同时播放多个声音