3

我有一个 AVPlayer 可以从网上流式传输 mp3 文件。我已经激活了一个 AVAudioSession 以便在应用程序退出/屏幕关闭时播放音频。音乐播放完美,但在播放音乐时,手机顶部状态菜单中出现的小“播放”三角形图标没有出现(与 iOS 中的常见情况一样)。有什么我做错了吗?下面的代码

// Set AudioSession
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);
4

1 回答 1

2

对于那些可能遇到这个问题的人,我想通了。你必须让你的玩家的控制器成为第一响应者——特别是远程控制事件。这不仅允许您接收远程控制事件(如通用播放/暂停/前进/后退控制),而且还可以将播放图标放在状态菜单中。

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
于 2012-07-14T00:33:23.810 回答