我将使用React-Native播放YouTube和Vimeo视频。 目前我实施了React-Native-Video并且不支持播放YouTube或Vimeo网址,同时可以播放直接视频网址。 所以我只想直接引用YouTube视频网址中的文件(或流?)。 例如来自
https://www.youtube.com/watch?v=PCwL3-hkKrg
有没有好的第三方服务或网站来解决这个问题? 无论您使用何种类型的代码或方式,我都会使用React-Native来播放YouTube视频。
答案 0 :(得分:2)
您可以通过以下代码获取YouTube的视频网址:
// 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);
答案 1 :(得分:1)
最后,我能够从KeepVid网站获取youtube视频文件参考网址。
因为我不认为该网站支持restful api,所以我获取了其html内容并进行了解析以获取下载网址。 我没有在这里编写代码,因为它非常简单。 如果它对你有所帮助,我会很高兴。
答案 2 :(得分:0)
我可以理解你想要的东西 - 从Youtube或Vimeo的网址下载或播放视频[stream]。
唯一可能的方式是使用WebView,因为无法获取Vimeo的相关文件(不是“直接网址”)的链接,也无法获取YouTube (也许可以下载)。
如果您必须撰写自定义控件,例如使用您自己的SeekBar或按钮,...然后您可以通过与WebView控件结合实现它,对吧? 我不认为实施会有很多麻烦。