【发布时间】:2016-04-13 18:57:41
【问题描述】:
iOS 开发新手,所以就到这里吧。我有一个正在播放音频的应用程序 - 我正在使用 AVAudioPlayer 在应用程序的资产中按名称加载单个文件。我不想查询用户的库,只查询提供的文件。效果很好,但是,我希望用户能够从锁定屏幕暂停和调整音量。
func initAudioPlayer(file:String, type:String){
let path = NSBundle.mainBundle().pathForResource(file, ofType: type)!
let url = NSURL(fileURLWithPath: path)
let audioShouldPlay = audioPlaying()
do{
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
let audioPlayer:AVAudioPlayer = try AVAudioPlayer(contentsOfURL: url)
audioPlayer.volume = slider.value
audioPlayer.numberOfLoops = -1
audioPlayer.prepareToPlay()
if(audioShouldPlay){
audioPlayer.play()
// let mpic = MPNowPlayingInfoCenter.defaultCenter()
// mpic.nowPlayingInfo = [MPMediaItemPropertyTitle:"title", MPMediaItemPropertyArtist:"artist"]
}
}
catch{}
}
我对@987654323@ 和MPNowPlayingInfoCenter 的使用只是阅读其他相关帖子的实验。
为我应用的 plist 文件中的音频启用了背景模式
【问题讨论】:
-
有什么问题/问题?
-
问题是我如何获得锁定屏幕的音频控制。我已经看到 MPNowPlayingInfoCenter nowPlayingInfo 是将歌曲元数据传递到锁定屏幕/控制中心的方式,但我缺少如何将其与 AVAudioPlayer 联系起来
-
锁屏界面已经有音频控制了。
-
没有为我的应用播放音频显示控件
-
但是,我需要将后台模式设置为“应用程序播放音频或流式传输音频......”。有趣的是,在 xcode 中使用模拟器时,音频会在后台播放,但是当我将应用程序部署到实际设备时,它就不起作用了。后台模式配置中可能缺少某些内容,但除了将该属性添加到 info.plist 之外,我似乎找不到任何东西
标签: ios swift avfoundation avaudioplayer mpmusicplayercontroller