【问题标题】:AVAudioPlayer on Lock Screen锁定屏幕上的 AVAudioPlayer
【发布时间】:2013-12-20 05:06:44
【问题描述】:

我使用 AVAudioPlayer(不是 AVPlayer)实现了一个音频播放器。我可以使用以下方法处理远程控制事件。到目前为止它工作得很好,但是我看到这些事件还有两个subtypesUIEventSubtypeRemoteControlEndSeekingForwardUIEventSubtypeRemoteControlEndSeekingBackward

- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
    //if it is a remote control event handle it correctly
    if (event.type == UIEventTypeRemoteControl)
    {
        if (event.subtype == UIEventSubtypeRemoteControlPlay)
        {
            [self playAudio];
        }
        else if (event.subtype == UIEventSubtypeRemoteControlPause)
        {
            [self pauseAudio];
        }
        else if (event.subtype == UIEventSubtypeRemoteControlTogglePlayPause)
        {
            [self togglePlayPause];
        }
        else if (event.subtype == UIEventSubtypeRemoteControlBeginSeekingBackward)
        {
            [self rewindTheAudio]; //this method rewinds the audio by 15 seconds.
        }
        else if (event.subtype == UIEventSubtypeRemoteControlBeginSeekingForward)
        {
            [self fastForwardTheAudio]; //this method fast-forwards the audio by 15 seconds.
        }

}

所以问题:

  1. 为了让事情正常进行,我是否也应该实现这两个子类型?

  2. 此方法仅启用锁定屏幕上的rewindplay/pausefast forward 按钮,但不显示文件标题、插图和持续时间。如何使用 AVAudioPlayerAVAudioSession 显示该信息(我真的不想要更多的库/API 来实现这一点)?

    2-a。我在搜索时发现了MPNowPlayingInfoCenter,但我对此了解不多。我必须用它来实现上面的那些东西吗? :-[

【问题讨论】:

  • 究竟是什么投了反对票??

标签: ios avaudioplayer avaudiosession background-audio mpnowplayinginfocenter


【解决方案1】:

你是对的,MPNowPlayingInfoCenter 是这样做的唯一方法。所以继续与MediaPlayer.framework 链接。在处理播放曲目的类中,导入<MediaPlayer/MediaPlayer.h>。每当您的曲目发生变化时,请执行以下操作:

NSDictionary *info = @{ MPMediaItemPropertyArtist: artistName,
                            MPMediaItemPropertyAlbumTitle: albumName,
                            MPMediaItemPropertyTitle: songName };

    [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = info;

【讨论】:

  • 谢谢帕特里克;但是第一个问题呢?它们也应该被实施吗?
猜你喜欢
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 2013-04-15
  • 2016-05-28
  • 2011-10-29
  • 2019-01-20
相关资源
最近更新 更多