AVPlayer 自动播放但不应该 (Swift)

AVPlayer autoplays but should not (Swift)

我在 macOS 应用程序中创建了一个非常简单的 AVPlayer。

import Cocoa
import AVKit
import AVFoundation

class ViewController: NSViewController {

@IBOutlet var playerView: AVPlayerView!

override func viewDidLoad() {

    super.viewDidLoad()

    let videoPath = URL(fileURLWithPath: "myPath/myFile.mp4")
    let videoPlayer = AVPlayer(url: videoPath)
    playerView.player = videoPlayer

    }

}

它基本上工作正常,但播放器在启动时自动播放,这是不应该的。即使我在 viewDidLoad 末尾添加 playerView.player?.pause(),它也会自动播放。

我做错了什么?

你至少应该把你的 AVPlayer 放在 ViewWillAppear() 函数中,暂停 playerView.player 会暂停你的整个视图——而不是暂停 videoPlayer:

videoPlayer.pause()

playerView.player = videoPlayer 之后添加应该可以;你的代码将是:

override func viewWillAppear() {
    super.viewWillAppear()

    let videoPath = URL(fileURLWithPath: "myPath/myFile.mp4")
    let videoPlayer = AVPlayer(url: videoPath)
    playerView.player = videoPlayer
    videoPlayer.pause()
}