如何在Objective C中以非全屏方式从浏览器应用播放Youtube Video

素比盖尔

我正在使用浏览器应用程序,我希望当用户在youtube.com上搜索任何视频时,该视频正在全屏播放,但我希望该视频在固定大小的小框架中打开,即为手机屏幕大小的一半。

我有视频网址和视频ID。我已经集成了YOUTube API,但是一旦我在youtube播放器上按了播放按钮,它就会全屏播放。

请找到集成的代码库

self.playerView = [[YTPlayerView alloc]init];
self.playerView.frame = webView.frame;
[self.playerView loadWithVideoId:str];

[webView.superview addSubview:self.playerView];

请找截图当添加YouTube播放器,并在播放按钮后,自来水

帮助将不胜感激。

哈迪克·DG

您的项目是否命名为Controller MainViewController,该控制器应该存在问题YTPlayerView,请在您的视图控制器中检查该视图。
在大多数情况下,它不会在您直接在代码中使用的类中定义


在您的代码中搜索问题,我找到了UIWebview的属性,该属性将帮助您内联播放视频 setAllowsInlineMediaPlayback

有了这个,您可以直接在网络视图中播放youtube视频,这是代码示例,可用于播放youtube视频

 NSString *strVideoId = @"M7lc1UVf-VE";
 NSString *videoURL = [NSString stringWithFormat:@"https://www.youtube.com/embed/%@?feature=player_detailpage&playsinline=1",strVideoId];

 NSString* embedHTML = [NSString stringWithFormat:@"\
                           <html><head>\
                           <style type=\"text/css\">\
                           iframe {position:absolute; top:50%%; margin-top:-130px;}\
                           body {\
                           background-color: transparent;\
                           color: white;\
                           }\
                           </style>\
                           </head><body style=\"margin:0\">\
                           <iframe width=\"100%%\" height=\"240px\" src=\"%@\" frameborder=\"0\"></iframe>\
                           </body></html>",videoURL];

[self.mainwebview setAllowsInlineMediaPlayback:true];
[self.view addSubview:self.mainwebview];
[self.mainwebview loadHTMLString:embedHTML baseURL:nil];

在此代码中,您可以传递在loadWithVideoIdYTPlayerView中传递的任何视频ID
要更改宽度/高度,您可以width=\"100%%\" height=\"240px\"在iframe一部分中进行更改

它在iPhone中也对我有用,它看起来像这样:在iPhone中使用iframe youtube播放在iPhone中使用另一个参考setAllowsInlineMediaPlaybackhttps : //stackoverflow.com/a/15189889/4557505

屏幕快照中显示的图像看起来像是特定的视频问题。注意此代码不是必需的,YTPlayerView因此,如果此代码对您YTPlayerView有用,则可以将其从项目中删除(如果未在其他任何地方使用此代码)


更新一些未播放的视频:我认为此问题与特定的实现方式无关,因为对于我来说,它无法在浏览器中工作(在iFrame中设置了嵌入的网址)或YTPlayerview,
但直到我检查并可能找到为止如您所提到的,在实施中存在一些问题:

是的,所有视频都可以在YTPlayerView上使用。这些视频可以在正常的全屏模式下运行,但不能在嵌入式播放器上运行

如果要在YTPlayerview中实现,可以检查以下代码:

NSString *strVideoId = @"3bMYgo_S0Kc";
self.playerView = [[YTPlayerView alloc]init];
self.playerView.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height/2);
[self.playerView loadWithVideoId:strVideoId playerVars:@{@"playsinline":@1}];
[_mainwebview addSubview:self.playerView];
[self.mainwebview setAllowsInlineMediaPlayback:true];
[self.view addSubview:self.mainwebview];

在中,loadWithVideoId我们可以提供内联参数,可以解决全屏问题,这在iPhone上也可能适用

请注意,对于我来说,该视频不适用于YTPlayer或浏览器(嵌入的url),但是根据您的评论,您可以尝试

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从浏览器的inspect元素中隐藏video src属性?

来自分类Dev

如何在浏览器中播放实时视频?

来自分类Dev

我们如何在video.js播放器中禁用“字幕设置”?

来自分类Dev

我们如何在video.js播放器中禁用“字幕设置”?

来自分类Dev

如何在 Tor 浏览器中查看 Youtube 视频?

来自分类Dev

如何在Objective C中存储块?

来自分类Dev

如何在C#中访问System.Video.FrameRate

来自分类Dev

如何在不提供凭据的情况下在浏览器中使用Kinesis Video Stream WebRTC SDK?

来自分类Dev

如何通过单击播放按钮而非嵌入来触发YouTube视频在iOS的浏览器中播放?

来自分类Dev

Flash Video FPS-在某些浏览器中播放速度过快

来自分类Dev

如何在移动浏览器上的嵌入式Vimeo播放器上显示全屏按钮?

来自分类Dev

如何在移动浏览器的嵌入式Vimeo播放器上显示全屏按钮?

来自分类Dev

如何在 Objective C 中使用 CallKit

来自分类Dev

在浏览器中全屏播放Youtube视频

来自分类Dev

如何在CSS中更好地转换<video>背景

来自分类Dev

如何在Ubuntu 17.10中检查Nvidia Video Memory?

来自分类Dev

Objective-C:如何在DiracLE中控制多个音频播放器的音量

来自分类Dev

如何在浏览器中将DIV调整为全屏

来自分类Dev

如何在12.04中使铬浏览器全屏运行(而不是信息亭)?

来自分类Dev

如何使Silverlight + Amazon Instant Video与浏览器的代理一起使用?

来自分类Dev

如何在Ionic App <video>标签中播放本地视频不起作用

来自分类Dev

如何在模式内部的HTML 5 Video元素中定位自动播放属性

来自分类Dev

如果不是全屏,React Native Youtube Video 不会播放

来自分类Dev

如何在没有第3方插件的浏览器中播放.mov文件

来自分类Dev

如何在浏览器中播放H.264视频?

来自分类Dev

如何在中国微信和腾讯浏览器中强制内联媒体播放

来自分类Dev

youtube推荐器如何训练video_id嵌入?

来自分类Dev

如何在Objective c 中处理TableviewCell 中的UIButton?

来自分类Dev

如何在Objective-C函数中返回C ++指针

Related 相关文章

  1. 1

    如何从浏览器的inspect元素中隐藏video src属性?

  2. 2

    如何在浏览器中播放实时视频?

  3. 3

    我们如何在video.js播放器中禁用“字幕设置”?

  4. 4

    我们如何在video.js播放器中禁用“字幕设置”?

  5. 5

    如何在 Tor 浏览器中查看 Youtube 视频?

  6. 6

    如何在Objective C中存储块?

  7. 7

    如何在C#中访问System.Video.FrameRate

  8. 8

    如何在不提供凭据的情况下在浏览器中使用Kinesis Video Stream WebRTC SDK?

  9. 9

    如何通过单击播放按钮而非嵌入来触发YouTube视频在iOS的浏览器中播放?

  10. 10

    Flash Video FPS-在某些浏览器中播放速度过快

  11. 11

    如何在移动浏览器上的嵌入式Vimeo播放器上显示全屏按钮?

  12. 12

    如何在移动浏览器的嵌入式Vimeo播放器上显示全屏按钮?

  13. 13

    如何在 Objective C 中使用 CallKit

  14. 14

    在浏览器中全屏播放Youtube视频

  15. 15

    如何在CSS中更好地转换<video>背景

  16. 16

    如何在Ubuntu 17.10中检查Nvidia Video Memory?

  17. 17

    Objective-C:如何在DiracLE中控制多个音频播放器的音量

  18. 18

    如何在浏览器中将DIV调整为全屏

  19. 19

    如何在12.04中使铬浏览器全屏运行(而不是信息亭)?

  20. 20

    如何使Silverlight + Amazon Instant Video与浏览器的代理一起使用?

  21. 21

    如何在Ionic App <video>标签中播放本地视频不起作用

  22. 22

    如何在模式内部的HTML 5 Video元素中定位自动播放属性

  23. 23

    如果不是全屏,React Native Youtube Video 不会播放

  24. 24

    如何在没有第3方插件的浏览器中播放.mov文件

  25. 25

    如何在浏览器中播放H.264视频?

  26. 26

    如何在中国微信和腾讯浏览器中强制内联媒体播放

  27. 27

    youtube推荐器如何训练video_id嵌入?

  28. 28

    如何在Objective c 中处理TableviewCell 中的UIButton?

  29. 29

    如何在Objective-C函数中返回C ++指针

热门标签

归档