Eri*_*ier 1 macos avfoundation ios swift avkit
我正在尝试让视频在我的 macOS 项目中播放,并且希望它不断循环。我能够让它播放一次,但我不知道如何让它循环播放。我正在使用 AVPlayerLooper 但似乎在某个地方搞砸了。这是我的代码:
import Cocoa
import AVKit
import AVFoundation
class ViewController: NSViewController {
@IBOutlet weak var videoPlayer: AVPlayerView!
override func viewDidLoad() {
//var loop: AVPlayerLooper?
super.viewDidLoad()
guard let path = Bundle.main.path(forResource: "Background", ofType:"mp4") else {
debugPrint("Not found")
return
}
let asset = AVAsset(url: URL(fileURLWithPath: path))
let item = AVPlayerItem(asset: asset)
let queuePlayer = AVQueuePlayer(playerItem: item)
let loop = AVPlayerLooper(player: queuePlayer, templateItem: item)
videoPlayer.player = queuePlayer
videoPlayer.player?.play()
}
}
Run Code Online (Sandbox Code Playgroud)
我的故事板中还有一个 AVPlayerView,我已将其连接到我的视图控制器。
它构建并运行良好,但当我运行它时,什么也没有显示。我只是遇到黑屏。
任何帮助表示赞赏。谢谢!
AVPlayerLoop 是一种管理播放器和播放器项目的“顶级”对象。所以你必须保留它,例如在视图控制器的自定义属性中,否则它将在它真正可以做任何事情之前被释放
由于AVPlayerLoop管理AVQueuePlayer中的项目,因此初始化队列播放器而不传入播放器项目
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |