Сыграйте 2 аудио одновременно. - PullRequest
0 голосов
/ 27 февраля 2019

У меня запущен 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 голосов
/ 27 февраля 2019

Вы можете использовать что-то подобное для воспроизведения звукового эффекта снимка камеры.Прекрасно работает для меня.

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