2

基本上 SKVideoNode 不会尊重 AVPlayer 的速率。

默认情况下,SKVideoNode 无法控制播放速率。然而,SKVideoNode 可以用一个 AVPlayer(它本身包含一个 AVPlayerItem)来初始化。此 AVPlayer 的属性速率可以在 0 到 2 之间变化(1 是正常速度)。还有方法setRate:time:atHostTime:。

所以这个利率是行不通的。你有同样的问题吗?如果没有办法解决这个问题?还有另一种播放视频和更改 SKScene 中的帧速率的方法吗?

func setupVideo() {
    // play video
    let urlStr = NSBundle.mainBundle().pathForResource("sample", ofType: "mp4")
    let url = NSURL(fileURLWithPath: urlStr!)

    player = AVPlayer(URL: url)

    videoNode = SKVideoNode(AVPlayer: player!)
    videoNode?.position = CGPointMake(frame.size.width/2, frame.size.height/2)
    videoNode?.size = CGSize(width: frame.size.width, height: frame.size.height)
    videoNode?.zPosition = 1
    addChild(videoNode!)

    player!.rate = 0.25
    videoNode!.play()


}

我在哪里添加 player!.rate = 0.25 并不重要,它永远不会改变。

4

1 回答 1

2

-- 更新 这是一个 Apple API 问题,已在 iOS 10 版本中修复。

于 2016-10-25T18:57:59.040 回答