2010-07-06 3 views
9

Info.plist에 UIBackgroundModes 속성을 추가하여 배열 항목이 "audio"이고 오디오 세션 설정에 대한 호출이 추가되었습니다 : [session setCategory: AVAudioSessionCategoryPlayback error: &error];.iOS4 멀티 태스킹/배경 음악을 시뮬레이터에서 테스트 할 수 있습니까?

그러나 내가 가지고있는 유일한 테스트 장치는 멀티 태스킹을 지원하지 않는 iPod Touch 2G입니다. 시뮬레이터를 사용해 보았지만 Safari로 전환하면 음악이 재생되지 않습니다. 그러나 내 앱으로 다시 전환하면 노래가 앱을 떠날 때보 다 먼 위치에서 계속 재생됩니다.

다른 앱 (Safari)을 사용하는 동안 백그라운드에서 계속 재생 한 것 같지만 내 앱의 오디오를 듣지 못했습니다.

+0

알고 싶습니다. 시뮬레이터에서 멀티 태스킹을 테스트 할 수 있거나 apns 배지를 업데이트하지 않고 테스트 할 수 있다면 – harshalb

답변

18

을 item0을 얻을 것이다. 시뮬레이터에서 오디오가 일시 중지되고 다시 시작하면 재생이 다시 시작됩니다. 그러나 장치에서의 테스트는 완벽하게 작동했으며 오디오는 백그라운드에서 계속 재생되었습니다. 내가 사용한 샘플 코드는

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[audioPlayer play]; 
+0

나는 똑같은 행동을 보았다. iPhone 4에서 작동하는 코드는 자동으로 시뮬레이터에서 진행됩니다. – drawnonward

+0

스트리밍을 지원하는 AVPlayer 클래스에서도 작동한다는 것을 말씀 드리고 싶습니다. 카테고리를 설정하면 기기가 잠겨 있거나 앱이 일시 중지되었을 때 오디오 스트리밍 앱이 계속 재생할 수 있습니다. 매우 도움이됩니다. –

+0

MyApp-info.plist를 편집하여 작동시켜야했습니다. 자세한 내용은 여기를 참조하십시오 http://www.crocodella.com.br/2011/01/using-avplayer-to-play-background-music-from-library/ –

2

추가 했습니까? info.plist에 필요한 뒷면 모드 키 ... 이 정보를 추가하지 않으려면 ... info.plist 파일로 이동하여 추가를 클릭합니다. "필수 백 그라운드 모드" 삼각형 u는 나도 같은 문제가 있었다 ... 그이 잘 작동 "오디오 응용 프로그램 재생"... 를 추가로

~ Raviraja

+0

네, 저의 질문에 언급했습니다. 올바른 설정이 포함 된 시뮬레이터에서 실행할 수있는 예제 프로젝트를 사용하게됩니까? 감사. –

1

이 장치에서도 작동했습니다.

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[audioPlayer play]; 

아이폰 앱에서 배경 오디오를 재생하는 데 필요한 배경 오디오를 가능하게하기 위해 info.plist 키를 설정하면됩니다.

UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:nil]; 

이 필요한 작업을 수행합니다 :

[[UIApplication sharedApplication] endBackgroundTask:bgTask]; 
16

배경 오디오는 오디오 파일의 순서를 재생하고자하는 경우에는 다음 하나는이 같은 백그라운드 작업으로 각각의 재생 작업을 수행해야합니다 iPhone 시뮬레이터에서는 지원되지 않습니다. 출처 : WWDC 2010, 세션 109 - 멀티 태스킹 파트 2 채택.