gpt4 book ai didi

ios - SKVideoNode 不显示视频

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:16:33 26 4
gpt4 key购买 nike

我正在尝试在 iOS 7.1 上使用 Sprite Kit 和 SKVideoNode 显示视频。 Apple 的文档使这看起来非常简单。来自 Sprite Kit 编程指南的示例:

SKVideoNode *sample = [SKVideoNode videoNodeWithVideoFileNamed:@"sample.m4v"];
sample.position = CGPointMake(CGRectGetMidX(self.frame),
[self addChild: sample];
[sample play];

我正在尝试相同的代码,但看不到视频。 SKVideoNode 确实在节点层次结构中。我也试过多个视频,都是 H.264 AAC。

我发现有人有类似的问题here .他们似乎通过实例化一个 AVPlayer 来解决它。那也不为我显示视频。想法?

最佳答案

首先有几件事:

  1. 您必须将 Foundation.framework 添加到您的项目中。
  2. 确保您已将视频文件添加到您的项目中。
  3. 确保您的视频文件是以下格式之一:.mov .mp4 .m4v .3gp .3gpp

试试我下面的示例代码:

#import "MyScene.h"
#import <AVFoundation/AVFoundation.h>

@implementation MyScene
{
AVPlayer *_player;
SKVideoNode *_videoNode;
}

-(id)initWithSize:(CGSize)size
{
if (self = [super initWithSize:size])
{
[self setupMovie];
}
return self;
}

-(void)setupMovie
{
NSURL *fileURL = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource:@"loop" ofType:@"mov"]];
_player = [AVPlayer playerWithURL: fileURL];

_videoNode = [[SKVideoNode alloc] initWithAVPlayer:_player];
_videoNode.size = CGSizeMake(200, 100);
_videoNode.position = CGPointMake(150, 150);

[self addChild:_videoNode];

_player.volume = 1.0;
[_videoNode play];
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//
}

-(void)update:(CFTimeInterval)currentTime
{
//
}

@end

关于ios - SKVideoNode 不显示视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22994462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com