【问题标题】:AVAudioSession with AVPlayer: The 'Play' Icon in the status menu not showing when the AVPlayer player is playing带有 AVPlayer 的 AVAudioSession:当 AVPlayer 播放器正在播放时,状态菜单中的“播放”图标不显示
【发布时间】:2012-07-11 22:39:32
【问题描述】:

我有一个 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);

【问题讨论】:

    标签: ios audio background avplayer avaudiosession


    【解决方案1】:

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

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
    

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多