作者j5307 (JJ)
看板MacDev
标题[问题] 录影时加入播放声音
时间Fri Oct 26 02:17:49 2012
在进入录影画面时(未进行记录动作)
先加入 [captureSession startRunning];
此时加入语音提示功能按钮
所以就在
-(void)viewDidLoad{
.....
[tipButton addTarget:self action:@selector(tipAudio:)
forControlEvents:UIControlEventTouchUpInside];
}
-(void)tipAudio{
if(tip==0){
videoTip = [[NSBundle mainBundle] pathForResource:@"a1" ofType:@"mp3"];
playTip= [[AVAudioPlayer alloc]
initWithContentsOfURL:[[NSURL alloc]
initFileURLWithPath:videoTip]error:nil];
[playTip play];
[self performSelector:@selector(tipAudio:)
withObject:nil afterDelay:4];
tip=1;
}
else if(tip==1){
videoTip = [[NSBundle mainBundle] pathForResource:@"a2" ofType:@"mp3"];
playTip= [[AVAudioPlayer alloc]
initWithContentsOfURL:[[NSURL alloc]
initFileURLWithPath:videoTip]error:nil];
[playTip play];
[self performSelector:@selector(tipAudio:)
withObject:nil afterDelay:4];
tip=2;
}
else if(tip==3){...}
else ...
}
当我做完动作後 录影画面却会定格
所以需要改成
[captureSession stopRunning];
[playTip play];
[captureSession startRunning];
而在需要做好几次的情况下 那这样画面会一直 停顿
是否有什麽方法 可以在我播放声音同时 录像也不会停止呢
不知道板上各位高手是否也曾经碰到过类似问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.254.232.158
1F:推 johnlinvc:audiosession 有调成playandrecord吗? 10/26 08:51
没有诶 请问这个的用法是? 我查了相关资料还是不太明白
※ 编辑: j5307 来自: 114.40.179.221 (10/26 11:32)
我播放声音档的方式 是直接使用if里面的前三行
其它就没有再加了
※ 编辑: j5307 来自: 114.40.179.221 (10/26 11:34)
这个我有看过 但是好像在加入这一行
propertySetError = AudioSessionSetProperty
( kAudioSessionProperty_OverrideCategoryMixWithOthers,
sizeof (allowMixing), &allowMixing);
会失败的样子?
※ 编辑: j5307 来自: 114.40.181.155 (10/26 17:17)
我把我要播放的影片先放在 viewDidLoad所以就变成
NSError *setCategoryError = nil; [[AVAudioSession sharedInstance]
setCategory: AVAudioSessionCategoryPlayAndRecord error:
&setCategoryError];
if (setCategoryError) { NSLog(@"%@",[setCategoryError description]); }
OSStatus propertySetError = 0;
UInt32 allowMixing = true;
propertySetError = AudioSessionSetProperty
( kAudioSessionProperty_OverrideCategoryMixWithOthers,
sizeof (allowMixing), &allowMixing);
videoTip = [[NSBundle mainBundle] pathForResource:@"a1" ofType:@"mp3"];
playTip= [[AVAudioPlayer alloc]initWithContentsOfURL:
[[NSURL alloc]initFileURLWithPath:videoTip]error:nil];
[playTip play];
错误的那行原因是说未宣告kAudioSessionProperty_OverrideCategoryMixWithOthers
※ 编辑: j5307 来自: 114.40.181.155 (10/26 17:28)
了解了 是我忘记加入 AudioToolbox.framework 成功了 谢谢你罗
※ 编辑: j5307 来自: 114.40.181.155 (10/26 17:35)