MPNowPlayingInfoCenter nowPlayingInfo ignored for AVPlayer audio via AirPlay
I have implemented audio playback using AVPlayer, playing a remote mp3 url.
I want to display the information about the currently playing audio using the
When I lock the screen, I do see the image and title I set, so I know that this method is registering the information in some way, but when I switch to AirPlay to an AppleTV, the display looks like a generic video output, with the progress bar at bottom, but elapsed time and duration correctly displayed.
If I set this same
nowPlayingInfo, but then start some audio using an AudioQueue, then it properly displays the image on half the screen (it looks just like playing a podcast with the iPod/Music app).
Is this just a limitation of AirPlay support for audio using AVPlayer, or is there some way to get it to display the image and info properly?
- iOS - updating the media play/pause state in the multitasking bar
- MPNowPlayingInfoCenter not reacting properly when pausing playback
- How to disable all the MPRemoteCommand objects from MPRemoteCommandCenter
- Change lock screen background audio controls text?
- Play/Pause next/Prev buttons are greyed out in control center
- How to set an title of the currently playing audio in iPhone lock screen?
2 Solutions Collect From Internet About “MPNowPlayingInfoCenter nowPlayingInfo ignored for AVPlayer audio via AirPlay”
Ok – I dug through the apple dev forums and found a hint.
If you are using AVPlayer for audio only, and want it to work in the background while doing airplay, you need to disable the
Apparently AVPlayer on iOS 5+ assumes that it is playing back video via AirPlay, and so does not allow backgrounding, unless you explicitly disable video AirPlay.
Once you disable this (i.e.
self.player.allowsAirPlayVideo = NO;) then your audio will still play via AirPlay, but now it will now show the audio/ipod like interface correctly.
If you’re on iOS7 you’ve got to disable external playback :
self.player.allowsExternalPlayback = NO;
- Consistent use of UIImageView on the UITableViewCells in different UITableViewControllers
- Case insensitive comparison NSString
- Error Domain=NSURLErrorDomain Code=403 “The operation couldn’t be completed. (NSURLErrorDomain error 403.)”
- Convert from char* to NSString?
- Disable UITextview selection text and copy/paste Menu
- How can I add a UITapGestureRecognizer to a UILabel inside a table view cell?
- Why does a custom UIButton image does not resize in Interface Builder?
- Assertion failure in –
- How to test a UITextField for being nil?
- Presenting a UIPopoverController from UICollectionViewCell
- How to use “open in…” feature to iOS app?
- How to disable multi click on button?
- SpriteKit – Making certain SpriteNodes NOT collide without disabling their physics bodies
- Swift timer in milliseconds
- iOS6 : How to use the conversion feature of YUV to RGB from cvPixelBufferref to CIImage