//在与该视图控制器文件在同一文件夹下的info文件空白处点击右键,选择 add Row
//键名设为Required background modes,点击左侧下拉箭头,在右侧输入键值App plays audio or streams audio/video using AirPlay
//这样程序就可以支持后台播放本地音频,网络流音频,以及使用AirPlay播放视频
import UIKit
//首先导入音频框架
import AVFoundation
class ViewController: UIViewController {
// 初始化音频播放对像,做为视图控制器类的属性
var audioPlayer:AVAudioPlayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// 获得音频会话对像,该对像属于单例模式,也就是说不用开发者而自行实例化,这个类在各种音频环境中起着非常重要的作用
let session = AVAudioSession.sharedInstance()
// 创建一个异常捕捉语句
do{
// 启动音频会话的管理,此时会阻断后台音乐的播放
try session.setActive(true)
// 设置音频操作类别,标示该应用仅支持音频的播放
try session.setCategory(AVAudioSessionCategoryPlayback)
// 设置应用程序支持接受远程控制事件
UIApplication.shared.beginReceivingRemoteControlEvents()
// 定义一个字符常量,描述声音文件的路经
let path = Bundle.main.path(forResource: "test", ofType: "mp3")
// 将字符串路径,转换为网址路径
let soudUrl = URL(fileURLWithPath: path!)
// 对音频播放对象进行初始化,并加载指定的音频文件
try audioPlayer = AVAudioPlayer(contentsOf: soudUrl)
audioPlayer.prepareToPlay()
// 设置音频播放对象的音量大小/
audioPlayer.volume = 1.0
// 设置音频的播放次数,-1为无限循环
audioPlayer.numberOfLoops = -1
// 开始播放
audioPlayer.play()
} catch{
print(error)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
swift笔记--实现音乐的背景播放功能
猜你喜欢
转载自blog.csdn.net/weixin_41735943/article/details/81200558
今日推荐
周排行