2009-08-07 8 views
4

나는 동시에 즉 AVAudioPlayerMPMoviePlayerController를 사용하는 배경 루프가 가능 재생되는 동안 동영상을 재생해야합니다.
영화 재생이 시작될 때 bg 음악 루프가 작동하지 않으므로 bg 음악 루프를 중단하고 영화를 시작하고 영화가 멈 추면 bg 루프 재생을 다시 시작하려고했지만이 또한 작동하지 않습니다.동시에

+0

그래야한다면 AudioQueue를 사용해야합니까? 나는 iPhone에 익숙하지 않고 AudioQueue 문서를 이해하는 것이 정말 어렵다. –

+0

좋아, 내 실수로 AVAudioPlayer를 시작하고 멈추기 전에 작동하지만 AVAudioPlayer와 MPMoviePlayerController를 동시에 사용할 수없는 이유는 무엇입니까? –

답변

1

동영상이 MPMoviePlayerController API에서 재생되는 동안 백그라운드 오디오 재생을 허용하지 않는 현재 iPhone SDK (2.x 및 3.x)에는 제한 사항이 있습니다. 안타깝게도 iPhone SDK에서 현재 요청한 작업을 수행 할 수 없습니다.

애플에게 다음 버전의 SDK를 제공하기 위해 logging an enhancement request을 제안했습니다.

2

사실 3.x부터 가능합니다. 이전에 내 응용 프로그램 중 하나에서이 작업을 수행했으며 backgrounding 또는 다른 새로운 iOS 기능과 아무 상관이 없습니다. 오디오 세션을 올바르게 구성하면됩니다. 오디오 플레이어는 물론 비디오 플레이어가 주변 오디오 세션을 사용하고 있는지 확인하는 것이 가능합니다.

AVAudioPlayer을 재생하기 전에 오디오 세션 카테고리를 AVAudioSessionCategoryAmbient으로 설정하십시오. 이것은 시스템 전체의 일반적인 오디오 세션입니다. 이렇게하면 다른 소리가 iPod 응용 프로그램의 소리와 함께 재생됩니다.

iOS 3.2 이상에서 MPMoviePlayerController을 사용하는 경우 useApplicationAudioSessionNO으로 설정해야합니다. 이렇게하면 다른 소리도 함께 연주 할 수 있습니다. 이전 버전의 iOS에서는 기본값입니다.

+1

이봐, 고마워. 누구든지 오디오 세션 카테고리를 설정하는 방법을 궁금해하는 경우 이것을 사용하십시오. '[[AVAudioSession sharedInstance] setCategory : AVAudioSessionCategoryAmbient 오류 : nil];' – NSRover