Я новенький, так что держись.
Я следую этому руководству: https://www.youtube.com/watch?v=5iHglLK957s
Существует множество примеров для зацикливания видео в ios, но, похоже, не удается получить видео на l oop с xib с использованием macos Obj- C.
Я создал класс Cocoa C, и он создает .h .m и .xib. Я создаю действие IB из представления .xib в .h и называю его видеопросмотром.
@property (assign) IBOutlet NSView *videoview;
В .MI добавьте:
#import "VideoTest.h"
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
@interface VideoTest ()
{
AVPlayer *player;
}
@end
@implementation VideoTest
- (void)windowDidLoad {
[super windowDidLoad];
NSString *strpath=[[NSBundle mainBundle]pathForResource:@"TestVideo" ofType:@"mp4"];
NSURL *URL=[NSURL fileURLWithPath:strpath];
AVPlayerItem *item=[AVPlayerItem playerItemWithURL:URL];
player=[AVPlayerItem playerWithPlayerItem:item];
player.volume=2.0;
AVPlayerLayer *layer1=[AVPlayerLayer playerLayerWithPlayer:player];
layer1.videoGravity=AVLayerVideoGravityResizeAspectFill;
layer1.frame=_videoview.layer.bounds;
[_videoview.layer addSublayer:layer1];
[player play];
}
@end
TestVideo.mp4 добавляется в проект. Также добавлены AVKit и AVfoundation.
При сборке окно xib просто пустое.
То, что я действительно пытаюсь сделать, это просто бесшовное l oop видео в xib с использованием MacOS и Obj- C. Не могу понять.
Есть предложения? Кажется, зацикливание видео в окне должно быть легким делом, но в MacOS меня это сильно сбивает.