简体   繁体   中英

Continue audio playback when iPhone is locked like iPod App

I need to continue the playback even when the user locks the phone. I've seen some solution over the internet, but none of them seem to work, such as:

AudioSessionSetActive(true);
    // Set up audio session, to prevent iPhone from deep sleeping, while playing sounds
    UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
    AudioSessionSetProperty (
                             kAudioSessionProperty_AudioCategory,
                             sizeof (sessionCategory),
                             &sessionCategory
                             );

I'm inlcuding AVFoundation , AudioToolbox , and MediaPlayer .

I figured out how to do this.

First of all, include these frameworks to your project: AudioToolbox , CoreAudio , MediaPlayer and AVFoundation . Import them all to the viewController where your player will be placed. After you allocated and started playing the audio, insert the following code:

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);
AudioSessionSetActive(true);

And finally, go to your app Info.plist file and add a row named UIBackgroundModes . The new row will be an array and will contain 1 item, the item 0. To this you just set the value as audio . And you're done! Enjoy you're background audio playing app!

Refer following Links:

How to Continue Music Play after Screen Auto-Lock

Playing audio while iPhone is locked

how to play music using AVAudioPlayer when screen os locked

Try :

// Set up audio session, to prevent iPhone from deep sleeping, while playing sounds
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;

AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);

AudioSessionSetActive(true);

If you have a playlist for example and want to play the next song while in background mode or lock mode add this line of code on your viewDidLoad:

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

This makes the app supports remote control events.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM