首页 > 解决方案 > 如何在其他视图中使用 Swift 中的 AVPlayer 暂停和播放音乐

问题描述

我有 2 个视图。一个带有音乐列表和一个“音乐播放器视图”。我正在使用下面的代码在“音乐播放器视图”中暂停和播放音乐。

我还想在音乐列表的第一个视图中暂停和播放音乐。但是当我将下面的代码添加到第一个视图并按下暂停/播放按钮时,音乐会暂停,然后直接开始播放。

override func pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
    presses.forEach { press in
        switch press.type {
        case .playPause:
            if player.isPlaying {
                player.pause()
            }
            else {
                player.play()
            }
        default: break
        }
    }

}

如果音乐正在播放,我希望音乐暂停,如果没有播放,则在两种视图中播放。

标签: swiftxcodeavplayertvos

解决方案


而不是循环通过所有的印刷机,只需像下面一样进行第一次触摸

override func pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
 guard let press = presses.first else { return }
        switch press.type {
        case .playPause:
            if player.isPlaying {
                player.pause()
            }
            else {
                player.play()
            }
        default: break
        }
    }

}

但是对于您的第二个问题,您需要提供更多信息。


推荐阅读