雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

IOS

當(dāng)前位置:主頁 > 軟件編程 > IOS >

iOS音樂后臺播放及鎖屏信息顯示

來源:本站原創(chuàng)|時間:2020-01-11|欄目:IOS|點(diǎn)擊:

本文實(shí)例為大家分享了iOS實(shí)現(xiàn)音樂的后臺播放,以及播放時,可以控制其暫停,下一首等操作,以及鎖屏圖片歌曲名等的顯示

此實(shí)例需要真機(jī)調(diào)試,效果圖如下:

工程下載:github工程下載

實(shí)現(xiàn)步驟:

1、首先修改info.plist

2、其次引入兩個需要的框架

#import <AVFoundation/AVFoundation.h>
#import <MediaPlayer/MediaPlayer.h>

3、設(shè)置播放器及后臺播放

- (void)viewDidLoad {
  [super viewDidLoad];
//  設(shè)置后臺播放
  [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

//  設(shè)置播放器
  NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"那些花兒" ofType:@"mp3"] ];
  _player = [[AVPlayer alloc] initWithURL:url];
  [_player play];
  _isPlayingNow = YES;

  //后臺播放顯示信息設(shè)置
  [self setPlayingInfo];
}

#pragma mark - 接收方法的設(shè)置
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
  if (event.type == UIEventTypeRemoteControl) { //判斷是否為遠(yuǎn)程控制
    switch (event.subtype) {
      case UIEventSubtypeRemoteControlPlay:
        if (!_isPlayingNow) {
          [_player play];
        }
        _isPlayingNow = !_isPlayingNow;
        break;
      case UIEventSubtypeRemoteControlPause:
        if (_isPlayingNow) {
          [_player pause];
        }
        _isPlayingNow = !_isPlayingNow;
        break;
      case UIEventSubtypeRemoteControlNextTrack:
        NSLog(@"下一首");
        break;
      case UIEventSubtypeRemoteControlPreviousTrack:
        NSLog(@"上一首 ");
        break;
      default:
        break;
    }
  }
}

4、設(shè)置后臺播放時顯示的東西,例如歌曲名字,圖片等

- (void)setPlayingInfo {
//  <MediaPlayer/MediaPlayer.h>
  MPMediaItemArtwork *artWork = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"pushu.jpg"]];

  NSDictionary *dic = @{MPMediaItemPropertyTitle:@"那些花兒",
             MPMediaItemPropertyArtist:@"樸樹",
             MPMediaItemPropertyArtwork:artWork
             };
  [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:dic];
}

5、遠(yuǎn)程控制設(shè)置

- (void)viewDidAppear:(BOOL)animated {
//  接受遠(yuǎn)程控制
  [self becomeFirstResponder];
  [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
}

- (void)viewDidDisappear:(BOOL)animated {
//  取消遠(yuǎn)程控制
  [self resignFirstResponder];
  [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。

上一篇:IOS 圖片存放3種方式的實(shí)現(xiàn)

欄    目:IOS

下一篇:詳解iOS平臺調(diào)用后臺接口的正確姿勢

本文標(biāo)題:iOS音樂后臺播放及鎖屏信息顯示

本文地址:http://www.jygsgssxh.com/a1/IOS/11853.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有