iOS swift流媒体应用程序无法在后台模式播放音乐
发布时间:2020-12-14 18:00:50 所属栏目:百科 来源:网络整理
导读:我的应用程序运行正常,但是一旦屏幕保护程序打开或在iPhone上执行其他操作,流就会停止.我激活后台模式“正在播放音频”但它没有帮助. 这是我的ViewController.swift import UIKitimport MediaPlayerclass ViewController: UIViewController { let player: MP
我的应用程序运行正常,但是一旦屏幕保护程序打开或在iPhone上执行其他操作,流就会停止.我激活后台模式“正在播放音频”但它没有帮助.
这是我的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) } } 这是我的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> 解决方法
设置音频背景模式是正确的,但我认为您还需要为音频会话设置音频类别.
尝试将此添加到您的应用委托的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)") } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读