以编程方式设置适用于iOS的Youtube YTPlayer

时间:2014-08-14 22:53:43

标签: ios objective-c ios7 youtube youtube-api

我无法以编程方式从Youtube API设置YTPlayer,而不是在他们example中显示的故事板上。

这是我试图做的但没有运气,视频不会加载事件..

这是我的viewDidLoad,我试图设置一切..而且,我几乎忘了说我下载了他们的主人framework并添加到我的项目中。我也改变了.html文件的路径。我已经尝试过,因为他们使用Storyboard展示并且有效,但我真的想以编程方式进行。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    self.myView = [[YTPlayerView alloc] initWithFrame:CGRectMake(10, 80, 300, 275)];
    self.myView.backgroundColor = [UIColor lightGrayColor];

    [self.view addSubview:self.myView];

    [self.myYoutubePlayer loadWithVideoId:@"Yf5_ZQcP7y0"];

    self.playBtn = [[UIButton alloc] initWithFrame:CGRectMake(10, 400, 120, 80)];
    [self.playBtn setTitle:@"Play" forState:UIControlStateNormal];
    self.playBtn.backgroundColor = [UIColor redColor];
    [self.playBtn addTarget:self action:@selector(playVideo:) forControlEvents:UIControlEventTouchDown];

    self.stopBtn = [[UIButton alloc] initWithFrame:CGRectMake(190, 400, 120, 80)];
    [self.stopBtn setTitle:@"Stop" forState:UIControlStateNormal];
    self.stopBtn.backgroundColor = [UIColor redColor];
    [self.stopBtn addTarget:self action:@selector(stopVideo:) forControlEvents:UIControlEventTouchDown];

    [self.view addSubview:self.playBtn];
    [self.view addSubview:self.stopBtn];

}

播放和停止方法......

- (IBAction)playVideo:(id)sender {
    [self.myYoutubePlayer playVideo];
}

- (IBAction)stopVideo:(id)sender {
    [self.myYoutubePlayer stopVideo];
}

如果需要更多信息,请先询问,我很乐意提供.. :)谢谢!

2 个答案:

答案 0 :(得分:3)

我遇到的问题是YTPlayerView框架没有正确定义要加载的iframe.html文件并用于播放器。所以,我修改了函数TYPlayerView.m中的-loadWithPlayerParams:,并更改了该文件路径的所有内容。

NSError *error = nil;
NSString *path = [[NSBundle mainBundle] pathForResource:@"YTPlayerView-iframe-player"
                                                 ofType:@"html"
                                            inDirectory:@""];

这将使工作完成..! :)

答案 1 :(得分:0)

我认为您的代码存在错误。

你在“self.myYoutubePlayer”上调用“loadWithVideoId”,它应该在“self.myView”上