我试图在react原生android/ios应用程序中播放Youtube视频。我定义了一个webview:
<WebView
style={styles.frame}
url={this.props.url}
renderLoading={this.renderLoading}
renderError={this.renderError}
automaticallyAdjustContentInsets={false}
/>
并传递我想播放的视频的url:
this.navigate('Play', 'https://www.youtube.com/watch?v=RJa4kG1N3d0')
但这会在webview中显示整个youtube页面,包括评论部分。
我想只显示视频部分,而不是评论部分。URL中缺少了什么吗?
6条答案
按热度按时间mctunoxg1#
在React Native iOS设备中嵌入YouTube的最简单方法是使用
<WebView>
。您需要做的就是将watch?v=
替换为embed
。这将无法与Android。示例:
mspsb9vt2#
这个密码对我很有效
wecizke33#
我有你的问题。你想让你的用户通过视频教程作为 prop ,但一个天真的用户不知道什么是嵌入式链接,他只会复制和粘贴一个网址从浏览器和粘贴,这将不会是嵌入的一个,但你可以转换它。请看下面的例子:
原始视频:-https://www.youtube.com/watch?v=qaiLSpqeBHY
嵌入式视频:-https://www.youtube.com/embed/qaiLSpqeBHY
让我们看看如何转换它:
这是从原始视频URL转换的嵌入视频。
示例:-
wmtdaxz34#
我想你可以从youtube上下载视频的嵌入html,直接到你的react native webview中。而不是导航到url,而是将WebView的source属性设置为html,如下所示:
基于this stack overflow post描述如何将youtube iframe加载到正常的android webview中,您可以将“HTML here”替换为实际的html,因此它看起来像:
你可以得到获得embed link for a youtube video here的方向。
xyhw6mcr5#
4jb9z9bj6#
我推荐使用react-native-youtube-iframe
产品编号:https://lonelycpp.github.io/react-native-youtube-iframe/basic-usage