我已导入 AVFoundation 并将音频添加到我的应用程序,但如果应用程序进入后台模式,音频不会停止
Posted
技术标签:
【中文标题】我已导入 AVFoundation 并将音频添加到我的应用程序,但如果应用程序进入后台模式,音频不会停止【英文标题】:I have Imported AVFoundation and added Audio to my app but if the App enters the background mode the audio isn't stop 【发布时间】:2016-12-07 16:23:11 【问题描述】:我已导入 AVFoundation 并将音频添加到我的应用,但如果应用进入后台模式,音频不会停止
var backgroundMusic: AVAudioPlayer? =
guard let url = Bundle.main.url(forResource: "Mining by Moonlight", withExtension: "mp3") else
return nil
do
let player = try AVAudioPlayer(contentsOf: url)
player.numberOfLoops = -1
return player
catch
return nil
()
viewDidLoad
中是代码:
backgroundMusic?.prepareToPlay()
backgroundMusic?.play()
谁能帮帮我?
【问题讨论】:
是否创建了avAudioPlayer的全局变量,如果没有,则在appDelegate类中制作并停止audioplayer,方法:ApplicationDidEnterInBackground...我希望..... 【参考方案1】:确保您的后台任务中未启用音频和 AirPlay
【讨论】:
【参考方案2】:在你的控制器类中使用 NSNotificationCenter
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector(“stopSong:"), name:UIApplicationDidEnterBackgroundNotification, object: nil)
如果您的应用程序在后台运行,则使用此方法
func stopSong(notification : NSNotification)
backgroundMusic?.stop()
【讨论】:
以上是关于我已导入 AVFoundation 并将音频添加到我的应用程序,但如果应用程序进入后台模式,音频不会停止的主要内容,如果未能解决你的问题,请参考以下文章
如何防止使用 AVFoundation 录制视频中断当前正在播放的任何全局音频(Swift)?
有没有办法在不使用 AVFoundation 框架的情况下在 iOS 中录制音频?