我有一个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];
}];
}
如果我在[播放器播放]之前放置一个断点,则声音听起来很完美,但是如果我禁用该断点,则声音将无法再现。
有人知道为什么吗?我可以同时播放两个音频(相机音频和快照效果)吗?
答案 0 :(得分:0)
您可以使用类似的方法来播放相机快照音频效果。 对我来说很完美。
#import <AudioToolbox/AudioToolbox.h>
......................................
AudioServicesPlaySystemSound(1108);