美文网首页iOS开发SwiftiOS 开发 我的Swift开发
iOS开发 - 音乐后台播放及操作

iOS开发 - 音乐后台播放及操作

作者: 小黑Swift | 来源:发表于2016-07-28 20:57 被阅读2380次

好几天米撸了,今天撸篇..音乐后台播放操作及显示封面

按步骤,今天的主题主要是实现后台播放及显示,其他播放音乐步骤略过...

锁屏 上拉

第一步:Info.plist

Info.plist

方便大家复制:上代码

            Required background modes  | App plays audio or streams audio/video using AirPlay

第二步:AppDelegate.swift

      /**注意:记得先在头部写上 import AVFoundation */
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // 注册后台播放
        let session = AVAudioSession.sharedInstance()
        do {
            try session.setActive(true)
            try session.setCategory(AVAudioSessionCategoryPlayback)
        } catch {
            print(error)
        }
        return true
    }

第三步:ViewController.swift

import AVFoundation

class ViewController: UIViewController {

    var audioPlayer = AVAudioPlayer()
    
    override func viewDidLoad() {
        super.viewDidLoad()

        //1.告诉系统接受远程响应事件,并注册成为第一响应者
        UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
        self.becomeFirstResponder()
    }
    
    override func viewWillDisappear(animated: Bool) {
        UIApplication.sharedApplication().endReceivingRemoteControlEvents()
        self.resignFirstResponder()
    }
    
    override func canBecomeFirstResponder() -> Bool {
        return true
    }
    /*                                                                           
      *   加载音乐文件略 ,定时器定时更新后台信息略....
      *    audioPlayer = try! AVAudioPlayer... //加载
     *     audioPlayer.paly() //播放  audioPlayer.stop() //暂停 
      *    audioPlayer.currentTime //可以更改播放进度
      *    以后有空再来一波
    */
  }


  // MARK: - 设置后台播放显示信息
extension ViewController {
    
    func setBackground() {
        //大标题 - 小标题  - 歌曲总时长 - 歌曲当前播放时长 - 封面
        let settings = [MPMediaItemPropertyTitle: "大标题",
                        MPMediaItemPropertyArtist: "小标题",
                        MPMediaItemPropertyPlaybackDuration: "\(audioPlayer.duration)",
                        MPNowPlayingInfoPropertyElapsedPlaybackTime: "\(audioPlayer.currentTime)",
                        MPMediaItemPropertyArtwork: MPMediaItemArtwork(image: UIImage(named: " cover")!)]

         MPNowPlayingInfoCenter.defaultCenter().setValue(settings, forKey: "nowPlayingInfo")
      }
}


// MARK: - 后台操作
extension ViewController {
    override func remoteControlReceivedWithEvent(event: UIEvent?) {
         
        if event?.type == UIEventType.RemoteControl {
            switch event!.subtype {
            case .RemoteControlTogglePlayPause:
                print("暂停/播放")
            case .RemoteControlPreviousTrack: // ##  <-  ##
                print("上一首")
            case .RemoteControlNextTrack: // ## -> ##
                print("下一首")
            case .RemoteControlPlay: // ## > ##
                print(">")
            case .RemoteControlPause: // ## || ##
                print("||")
            default:
                break
            }
        }
    }
}

相关文章

  • iOS开发 - 音乐后台播放及操作

    好几天米撸了,今天撸篇..音乐后台播放操作及显示封面 按步骤,今天的主题主要是实现后台播放及显示,其他播放音乐步骤...

  • iOS 后台运行音乐必看文章

    iOS后台运行之后台播放音乐 必看参考文章:后台播放音乐 后台播放核心代码 电话中断后继续播放核心代码

  • iOS 开发之-后台播放音乐

    iOS4之后就支持后台播放音频了。只需下面两步就可以实现后台播放音频操作了: 1. 在Info.plist中,添加...

  • ios-后台播放视频、直播流

    关于ios-后台播放 后台播放的不是新的技术;后台播放在音乐播放器上得到了广泛的运用;想了解和实现的原因:看到B站...

  • Paper Collection - Background Ta

    1.IOS后台运行机制详解(一)2.IOS后台运行机制详解(二)3.IOS后台运行 之 后台播放音乐4.转载:IO...

  • iOS音乐后台播放、锁屏封面及播放控制

    前言 在默认环境下App被切换到后台时,音乐的就停止播放了,但音乐类App的一般都会需要在后台继续播放,这样用户就...

  • iOS面试题(四)

    1、申请后台运行除了后台刷新和VoIP及音乐播放和定位之外还有什么办法? UIBackgroundTaskIden...

  • iOS应用程序在后台保持运行实现方式

    在iOS系统上应用程序在后台如何长时间运行 播放音乐 声明Audio 获取GPS信号 iOS 长时间后台的两种方法...

  • iOS - 后台保活(后台持续运行代码)

    iOS有两种后台运行保活方式,第一种叫无声音乐保活(即在后台开启音频播放,只不过不需要播放出音量且不能影响其他音乐...

  • 后台相关

    1、后台播放2、锁屏界面展示,这个要真机上才可以 iOS模拟器中播放音乐退到后台还是有用的,但是真机不行,要做如下...

网友评论

本文标题:iOS开发 - 音乐后台播放及操作

本文链接:https://www.haomeiwen.com/subject/gfgajttx.html