【发布时间】:2025-05-13 07:25:02
【问题描述】:
我确定我在问一个简单的问题,但我才刚刚开始编码......所以请可怜我吧!我在 Xcode 7 Swift 2 上。音乐播放器的类型是 AVAudioPlayer。如果我在按下播放按钮之前启动应用程序并移动音量滑块(类型 UISlider),它会使应用程序崩溃,而在按下播放后它可以完美运行,即使音乐暂停。我知道原因是因为volumeSlider func中的“musicPlayer.playing”。我尝试了很多 If 语句(例如“if musicPaused 等),但我无法让它工作。感谢您的帮助。这是音量滑块功能:
@IBAction func volumeSliderChanged(sender: AnyObject) {
musicPlayer.playing
musicPlayer.volume = volumeSlider.value
}
这是播放函数:
@IBAction func playPause(sender: AnyObject) {
var items = toolbar.items!
if musicPaused == false {
playPauseBtn = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: "playPause:")
items[0] = playPauseBtn
toolbar.setItems(items, animated: true)
musicPlayer.play()
musicPaused = true
}
else{
var items = toolbar.items!
playPauseBtn = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "playPause:")
items[0] = playPauseBtn
toolbar.setItems(items, animated: true)
musicPlayer.pause()
musicPaused = false
}
}
@IBAction func playPauseButton(sender: UIButton) {
let playBtn = sender as UIButton
if toggleState == 1 {
if isPlaying {
musicPlayer.play()
}else{
playMusic()
}
toggleState = 2
playBtn.setImage(UIImage(named:"100_pause.png"),forState:UIControlState.Normal)
} else {
musicPlayer.pause()
toggleState = 1
playBtn.setImage(UIImage(named:"100_play-arrow.png"),forState:UIControlState.Normal)
}
}
这是我的音乐播放器声明:
var musicPlayer: AVAudioPlayer = AVAudioPlayer()
【问题讨论】:
标签: slider swift2 avaudioplayer