gpt4 book ai didi

ios - 如何在 iOS 中播放 youtube 视频?

转载 作者:行者123 更新时间:2023-11-29 03:19:30 26 4
gpt4 key购买 nike

我想在我的 iOS 应用程序中播放 youtube 视频,我看到有很多选项,如嵌入视频和所有在 UIWebview 中。但我希望它像播放器一样。当我点击按钮时它会打开新页面,视频应该会播放。

我什至在谷歌搜索然后我听说了这个控件

“XCDYouTubeVideoPlayerViewController-master” 当我将其集成到我的项目中时

喜欢

在我的 youtube.m 文件中

viewdidAppear() 中我添加了这段代码

XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:@"9bZkp7q19f0"];
[self presentMoviePlayerViewControllerAnimated:videoPlayerViewController];

然后它打开一个视频播放器,几秒钟后视频播放器关闭。它没有播放任何东西。

当我尝试嵌入视频时

 webView.frame=CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height);
NSLog(@"%@",sharedManager.trailerLink);
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:sharedManager.trailerLink]]];

我得到一个类似 youtube 移动网站的窗口,请检查图像。我只想在我的屏幕上显示一个视频。 enter image description here请帮助我

最佳答案

无法使用与 MPMoviePlayer 对象相同的控件加载 youtube 视频,但您可以使用 YouTubes iFrame-API 跳过加载相关内容。

要在 UIWebview 中加载视频,请使用此助手:

- (NSString*)youTubeHTMLFromURL:(NSURL*)url
{
NSError *error = NULL;
NSRegularExpression *regex =
[NSRegularExpression regularExpressionWithPattern:@"(?<=v(=|/))([-a-zA-Z0-9_]+)|(?<=youtu.be/)([-a-zA-Z0-9_]+)"
options:NSRegularExpressionCaseInsensitive
error:&error];

NSTextCheckingResult *match = [regex firstMatchInString:url
options:0
range:NSMakeRange(0, [url length])];
if (match) {
NSRange videoIDRange = [match rangeAtIndex:0];
NSString *videoId = [url substringWithRange:videoIDRange];
NSString *html = [NSString stringWithFormat:@"<!DOCTYPE html>\
<html>\
<head>\
<style type='text/css' media='screen'>\
body, p{\
margin: 0px;\
}\
#player {\
width: 100%%;\
}\
</style>\
</head>\
<body><div id='player'></div>\
<script type='text/javascript'>\
var tag = document.createElement('script');\
tag.src = 'https://www.youtube.com/iframe_api';\
var firstScriptTag = document.getElementsByTagName('script')[0];\
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\
\
var player;\
function onYouTubeIframeAPIReady() {\
player = new YT.Player('player', {\
height: '390',\
width: '640',\
videoId: '%@',\
events: {\
'onReady': onPlayerReady,\
}\
});\
}\
\
function onPlayerReady(event) {\
event.target.playVideo();\
}\
\
</script>\
</body>\
</html>", videoId];
return html;
}


return nil;
}

关于ios - 如何在 iOS 中播放 youtube 视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21276728/

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