IOS quick download app does not play music in the background

My application is working fine, but as soon as the screen safe is turned on or something else is being done on the iphone, the flow stops. I activated the background playing audio, but that doesn't help.

This is my ViewController.swift

import UIKit import MediaPlayer class ViewController: UIViewController { let player: MPMoviePlayerViewController = MPMoviePlayerViewController(contentURL: NSURL(string: "http://url to my stream")) override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. player.moviePlayer.movieSourceType = .Streaming self.presentViewController(player, animated: true, completion: nil) loadAddressURL() } func stop() { player.moviePlayer.stop() } @IBAction func Hitplay(sender: AnyObject) { player.moviePlayer.play() } @IBAction func Hitpause(sender: AnyObject) { player.moviePlayer.stop() } @IBOutlet var Nowplay: UIWebView! var URLPath = "http://url to on air now" func loadAddressURL() { let requestURL = NSURL (string:URLPath) let request = NSURLRequest (URL: requestURL!) Nowplay.loadRequest(request) } } 

and here is my info.plist

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList- 1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>en</string> <key>CFBundleExecutable</key> <string>$(EXECUTABLE_NAME)</string> <key>CFBundleIdentifier</key> <string>com.product name.$(PRODUCT_NAME:rfc1034identifier)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>$(PRODUCT_NAME)</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>1.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>1</string> <key>LSRequiresIPhoneOS</key> <true/> <key>UIBackgroundModes</key> <array> <string>audio</string> </array> <key>UILaunchStoryboardName</key> <string>LaunchScreen</string> <key>UIMainStoryboardFile</key> <string>Main</string> <key>UIRequiredDeviceCapabilities</key> <array> <string>armv7</string> </array> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortraitUpsideDown</string> </array> </dict> 
+5
source share
1 answer

The background sound setting is correct, but I think you also need to set the audio category for the audio session.

Try adding this to your didFinishLaunchingWithOptions app didFinishLaunchingWithOptions :

 var activeError: NSError? = nil AVAudioSession.sharedInstance().setActive(true, error: &activeError) if let actError = activeError { NSLog("Error setting audio active: \(actError.code)") } var categoryError: NSError? = nil AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: &categoryError) if let catError = categoryError { NSLog("Error setting audio category: \(catError.code)") } 
+7
source

Source: https://habr.com/ru/post/1208284/


All Articles