[問題] 錄影時加入播放聲音

看板MacDev作者 (JJ)時間12年前 (2012/10/26 02:17), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串1/1
在進入錄影畫面時(未進行記錄動作) 先加入 [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

10/26 08:51, , 1F
audiosession 有調成playandrecord嗎?
10/26 08:51, 1F
沒有誒 請問這個的用法是? 我查了相關資料還是不太明白 ※ 編輯: j5307 來自: 114.40.179.221 (10/26 11:32) 我播放聲音檔的方式 是直接使用if裡面的前三行 其它就沒有再加了 ※ 編輯: j5307 來自: 114.40.179.221 (10/26 11:34)

10/26 13:35, , 2F
10/26 13:35, 2F
這個我有看過 但是好像在加入這一行 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)
文章代碼(AID): #1GYO9GAE (MacDev)
文章代碼(AID): #1GYO9GAE (MacDev)