NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
//Direct audio to speakers when there is no headphone
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[player setAllowsExternalPlayback:YES];
[player setUsesExternalPlaybackWhileExternalScreenIsActive: YES];
[player setAllowsAirPlayVideo:NO];
以上是我尝试设置适当的会话以启用 Airplay 的代码。它有时会起作用,但不管它是否起作用,它通常会在 Airplay 菜单中列出两次“iPhone”,有时不会显示实际的 Airplay 设备。点击这两个重复选项中的任何一个似乎都没有做任何事情。状态栏上的播放图标有时会出现,有时不会。我猜会话每次都没有正确设置。
谁能告诉我我在这里做错了什么?!另外,如果我想通过蓝牙启用播放,我是否需要实现一些其他委托?