문제

앱 대의원에서 다음 오디오 세션을 사용하고 있습니다.

  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);
    }

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top