【问题标题】:Stream radio from url with AVPlayer -> iPhone player controls not working使用 AVPlayer 从 url 流式传输广播 - > iPhone 播放器控件不起作用
【发布时间】:2015-02-04 13:56:15
【问题描述】:

我使用 AVPlayer 从 url 流式传输现场声音。

它运行良好,除非我的应用程序在后台并且我想在向上滑动菜单中播放或暂停 iPhone 播放器(我不知道它的确切名称)。音量控制有效,但播放/暂停控制无效。

我已经通过 SO 和互联网查看了几个小时,但无法弄清楚。

有什么帮助吗?

这是代码(如果您需要更多代码,请不要犹豫):

// Set AudioSession
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
[[AVAudioSession sharedInstance] setActive:YES error:nil];

// Init player
self.playerItem = [AVPlayerItem playerItemWithURL:url];
self.audioPlayer = [AVPlayer playerWithPlayerItem:self.playerItem];
[self.audioPlayer play];

【问题讨论】:

    标签: ios avplayer avaudiosession


    【解决方案1】:

    您需要自己在应用中实现远程控制。这不是由AVPlayer 处理的。

    您需要阅读的是Remote Control Events

    你需要让某个类成为第一个响应者,比如你的根视图控制器。通过调用[self becomeFirstResponder] 确保它正在接收所有事件。 然后只需实现远程控制事件的事件处理程序:

    - (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent {
    
        if (receivedEvent.type == UIEventTypeRemoteControl) {
          switch (receivedEvent.subtype) {
             case UIEventSubtypeRemoteControlTogglePlayPause:
                [self playOrStop: nil];
                break;
    
            case UIEventSubtypeRemoteControlPreviousTrack:
                [self previousTrack: nil];
                break;
    
            case UIEventSubtypeRemoteControlNextTrack:
                [self nextTrack: nil];
                break;
    
            default:
                break;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-20
      • 2015-08-03
      • 2019-06-27
      • 1970-01-01
      • 2015-04-19
      • 2016-01-19
      • 2019-11-29
      • 2020-02-29
      相关资源
      最近更新 更多