iOS 上的背景音乐停止/静音
Posted
技术标签:
【中文标题】iOS 上的背景音乐停止/静音【英文标题】:Background Music Stop/Mute on iOS 【发布时间】:2016-03-13 10:36:35 【问题描述】:我正在创建我的第一个应用程序。我有一个在后台播放音乐的应用程序,代码如下:
var backgroundMusicPlayer = AVAudioPlayer()
override func viewDidLoad()
super.viewDidLoad()
//background Music
func playBackgroundMusic(filename: String)
let url = NSBundle.mainBundle().URLForResource(filename, withExtension: nil)
guard let newURL = url else
print("Could not find file: \(filename)")
return
do
backgroundMusicPlayer = try AVAudioPlayer(contentsOfURL: newURL)
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay()
backgroundMusicPlayer.play()
catch let error as NSError
print(error.description)
playBackgroundMusic("Starship.wav")
那么当我切换到另一个 ViewController 时,我应该怎么做才能停止/静音背景音乐?我应该这样做我的 FirstViewController 还是 SecondViewController?
显然,我不希望在 SecondViewController 中关闭声音,因为我还有其他要播放的东西。
【问题讨论】:
【参考方案1】:要静音,我只需将音量静音。
backgroundMusicPlayer.volume = 0
如果我想要声音,请将其设置为正常
backgroundMusicPlayer.volume = 1
如果你只是想暂停音乐,你可以打电话
backgroundMusicPlayer.pause()
要恢复您的通话
backgroundMusicPlayer.resume()
如果您想停止音乐并将其重置为开头,您可以这样说
backgroundMusicPlayer.stop()
backgroundMusicPlayer.currentTime = 0
backgroundMusicPlayer.prepareToPlay()
您是否也考虑过将您的音乐放入一个单例类中,以便在不同的视图控制器中播放音乐更容易。
不确定这是您要查找的内容,因为您的问题有点模糊。
【讨论】:
完全符合我的要求。不知道把它放在一个单例中意味着什么。我是应用程序制作的新手。为了更清楚我所做的。这是一个音乐应用程序,它必须在菜单中播放背景音乐,但是一旦您转到音乐“选项卡”,就不应该有背景,因为可能会启动音乐播放列表。希望这是有道理的。但是你给我的答案,很有帮助 嘿,不客气。单例基本上意味着您创建一个只退出一次的类。因此,您可以在多个视图控制器等中访问同一个类,而无需将音乐代码放在各处。音乐是单例类有用的一个很好的例子。为了更好地了解你可以查看我的 gitHub 助手。 github.com/crashoverride777/Swift2-Music-Helper以上是关于iOS 上的背景音乐停止/静音的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 2(Xcode 7)在我的 Sprite Kit 游戏中为背景音乐设置静音按钮?