10

我似乎无法让 iOS 在远程音频控件中显示正确的播放/暂停按钮。nowPlayingInfo我确实收到了远程控制事件并设置了字典的所有值。

一切正常,我什至在锁定屏幕上看到了封面照片。除了暂停/播放按钮。即使我AVAudioPlayer正在播放,它也总是看起来像暂停。无论播放状态如何,它都会发送暂停事件。

如何通知 iOS AVAudioPlayer 已暂停并且它现在应该在遥控器按钮栏中显示一个播放按钮?

4

4 回答 4

6

确保您正在设置 MPNowPlayingInfoPropertyPlaybackRate 属性。0.0f 表示暂停,1.0f 表示播放。更改这些值时,您还需要设置 MPNowPlayingInfoPropertyElapsedPlaybackTime。

这是示例代码,其中updateMetadata是将这些更改应用于MPNowPlayingInfoCenter.nowPlayingInfo字典的函数。这将向中心指示播放器已暂停。

[self updateMetadata:[NSDictionary dictionaryWithObjectsAndKeys:
     [NSNumber numberWithDouble:audioFile.player.currentTime], 
      MPNowPlayingInfoPropertyElapsedPlaybackTime,
     [NSNumber numberWithFloat:0.0f],  
      MPNowPlayingInfoPropertyPlaybackRate,
      nil]];
于 2014-09-10T12:55:53.527 回答
0

我今天遇到了这个问题:我发现我正在录制音频以及播放它的事实导致按钮显示暂停符号。

当我停止AVAudioRecorder录制时,暂停按钮变成了播放按钮。

于 2014-02-09T05:34:26.933 回答
0

下面是示例代码,其中 updateMetadata 是将这些更改应用于 MPNowPlayingInfoCenter.nowPlayingInfo 字典的函数。这将向中心指示播放器已暂停。迅速

self.updateMetadata(NSDictionary.dictionaryWithValuesForKeys(NSNumber(Double(audioFile.player.currentTime))),MPNowPlayingInfoPropertyElapsedPlaybackTime,NSNumber(numberWithFloat:0.0f),MPNowPlayingInfoPropertyPlaybackRate,nil)
于 2016-10-24T04:44:30.447 回答
0

很多时候,问题只是 iPhone 模拟器。一旦您使用实例的play()功能AVAudioPlayer,远程控制栏应该会自动切换暂停/播放。如果您遇到了没有发生这种情况的问题,请尝试在设备上运行您的程序。

要切换按钮,您不需要设置任何playingInfoMPNowPlayingInfoCenter也不需要按住活动的AVAudioSession

于 2016-07-14T10:17:58.347 回答