【问题标题】:How to stop audio player in swift如何快速停止音频播放器
【发布时间】:2014-11-19 02:47:19
【问题描述】:

因此,在我的应用中,用户在点击播放按钮时会播放器乐,但当他们停止时,它应该会停止音乐。在我的代码中,当我添加停止按钮的代码时,当我点击播放按钮时没有任何播放,但是当我删除代码时,播放按钮有效,但停止按钮无效。我不明白它为什么在我的代码中这样做。

代码如下:

@IBAction func playInstrumentalPressed(sender: AnyObject) {
    let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
    let saveFileName = nameSavedFile as String
    if (saveFileName != "") {
        let beatLocation = documentsPath + "/" + saveFileName + ".wav"
        let fileURL = NSURL(fileURLWithPath: beatLocation)

        var error:NSError?

        player = AVAudioPlayer(contentsOfURL: fileURL, error: &error)

        if player.prepareToPlay() && player.play() {
            println("yes")
        } else {
            println("no")
        }

    } else {
        println("Not Available") //add alertview here
    }
}

@IBAction func stopInstrumentalButton(sender: UIButton) {
    if (player.playing) {
        player.stop()
    } else {
        println("Nothing is playing")
    }
      }

【问题讨论】:

  • 我想知道您的 iBAction 插座是否连接不正确...也许仔细检查您的 xib/storyboard 以查看按钮连接的方法。
  • 这就是我最初的想法,所以我删除了代码和按钮并制作了一个新的并将其连接起来,但仍然没有改变任何东西。
  • 能否请您在stopInstrumentalButton 中输入一些登录信息,以便在您按播放时查看它是否被调用?
  • 当我按下播放它被称为 player.stop 当我按下停止它打印没有播放。我不知道为什么在没有按下停止时它会这样做
  • 抱歉,不确定您在说什么。 1) 当你按下播放键时,stopInstrumentalButton 会被调用吗? 2) 你能把你的xib/storeyboard 的连接截图发到IBOutlets。其他尝试:在stopInstrumentalButton 方法中放置一个断点并按下开始按钮。您将能够看到谁在调用堆栈中调用该方法。

标签: ios swift audio-player


【解决方案1】:

我想知道您的iBAction 插座是否连接不正确...也许仔细检查您的xib/storyboard 以查看按钮连接的方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2022-12-18
    • 1970-01-01
    相关资源
    最近更新 更多