我将使用React-Native播放YouTube和Vimeo视频。目前,我实施了React-Native-Video,并且不支持播放YouTube或Vimeo URL,而可以播放直接的视频URL。因此,我只想从YouTube视频URL中直接引用对文件(或流?)的引用。 例如
https://www.youtube.com/watch?v=PCwL3-hkKrg
是否有任何良好的第三方服务或网站可以解决此问题?无论您使用React-Native目前使用React-Native播放YouTube视频,您将使用哪种类型的代码或方式。
最后,我能够从keepvid网站获取youtube视频文件参考url。
因为我认为该网站不支持RESTFUL API,所以我获取了其HTML内容并解析以获取下载URL。我没有在这里编写代码,因为这很简单。我会为您提供帮助,我会很高兴。
您可以通过此代码获得YouTube的视频URL:
// ES6 version
const videoUrls = ytplayer.config.args.adaptive_fmts
.split(',')
.map(item => item
.split('&')
.reduce((prev, curr) => (curr = curr.split('='),
Object.assign(prev, {[curr[0]]: decodeURIComponent(curr[1])})
), {})
)
.reduce((prev, curr) => Object.assign(prev, {
[curr.quality_label || curr.type]: curr
}), {});
console.log(videoUrls);
// ES5 version
var videoUrls = ytplayer.config.args.adaptive_fmts
.split(',')
.map(function (item) {
return item
.split('&')
.reduce(function (prev, curr) {
curr = curr.split('=');
return Object.assign(prev, {[curr[0]]: decodeURIComponent(curr[1])})
}, {});
})
.reduce(function (prev, curr) {
return Object.assign(prev, {
[curr.quality_label || curr.type]: curr
});
}, {});
console.log(videoUrls);
我可以理解您想要的东西 - 从YouTube或Vimeo的URL下载或播放视频[流]。
仅可能的方法是使用WebView,因为不可能获取Vimeo nor YouTube的vime vile(而不是"直接URL" )的链接进行播放(也许可以下载)。
如果您必须撰写自定义控件,例如使用自己的Seekbar或按钮,...然后您可以通过与WebView控件结合使用来实现它,对吗?我不希望实施这会有太大麻烦。