iPhone -avaudioplayer, kaudiosessioncategory_ambientsound 및 iPod 음악
문제
앱 대의원에서 다음 오디오 세션을 사용하고 있습니다.
AudioSessionInitialize(NULL, NULL, NULL, self); UInt32 sessionCategory = kAudioSessionCategory_AmbientSound; AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory); AudioSessionSetActive(true);
나는 사용자가 iPod 음악을 재생하고 동시에 내 앱을 사용할 수 있기를 원합니다. 그것은 훌륭하고 잘 작동합니다 ... 내 앱은 굽고 iPod 음악을 재생할 수 있습니다.
내가 가지고있는 문제는 ... 사용자가 내 앱을 종료 한 후 iPod 앱으로 들어가서 앱으로 돌아올 때 내 사운드 중 어느 것도 작동하지 않습니다. 음악을 재생하지 않더라도 여전히 iPod 세션이 활성화되어 있다고 생각하는 것과 같습니다!
나는 기본적으로 iPod 음악이 일시 중지 된 후 오디오 세션을 다시 활성화하고 싶습니다. 그것이 서있는대로, 나는 후에 항상 iPod 앱을 통해 음악을 재생하면 다시 컴파일하지 않으면 앱의 사운드를 다시 얻을 수 없습니다. :( 누군가 아이디어가 있습니까?
편집 : Avaudioplayer 클래스의 기본 구현을 사용하여 앱의 오디오를 재생하는 것을 언급하는 것을 잊었습니다.
감사!
해결책
좋아, 방금 다른 사람을 도와 줄 경우 모두를 계속 게시 할 것이라고 생각했습니다.
UInt32 isPlaying; UInt32 propertySize = sizeof(isPlaying); OSStatus status; // check to see if their iPod music is playing status = AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying, &propertySize, &isPlaying); // set the session category accordingly if(!isPlaying) { NSLog(@"...SoloAmbientSound"); UInt32 sessionCategory = kAudioSessionCategory_SoloAmbientSound; AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory); }else{ NSLog(@"...AmbientSound"); UInt32 sessionCategory = kAudioSessionCategory_AmbientSound; AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory); }
제휴하지 않습니다 StackOverflow