【发布时间】:2016-12-13 03:02:21
【问题描述】:
我已经下载了 ytdl-core,我将它与 discord.js 一起使用。我有一个命令可以将 YouTube 视频的音频播放到语音聊天中。有人知道我可以从链接中获取视频标题字符串的方法,还是获取标题的简单方法?更简单的方法只是以某种方式从链接中获取视频标题。任何帮助表示赞赏!谢谢!
【问题讨论】:
标签: javascript json node.js video youtube
我已经下载了 ytdl-core,我将它与 discord.js 一起使用。我有一个命令可以将 YouTube 视频的音频播放到语音聊天中。有人知道我可以从链接中获取视频标题字符串的方法,还是获取标题的简单方法?更简单的方法只是以某种方式从链接中获取视频标题。任何帮助表示赞赏!谢谢!
【问题讨论】:
标签: javascript json node.js video youtube
使用getInfo(),但由于ytdl-core 的变化,info.title 不再有效。
例子:
getInfo('https://www.youtube.com/watch?v=YQHsXMglC9A', (info) => {
// console.log(info.title) Alert! this is Wrong
console.log(info.videoDetails.title) // "Adele - Hello"
});
【讨论】:
您可以使用下面的功能,它对我来说非常适合:
function getTitleVideo (videoUrl){
return new Promise ((resolve, reject) => {
ytdl.getBasicInfo (videoUrl, (err, info) => {
resolve (info.title)
})
})
}
【讨论】:
当您通过 Node.JS 管道将音频流式传输到 WebSocket 时。
您可以使用已经获取的信息来提高效率!
var stream = YTDL('https://youtu.be/H7NuU-dDRLU');
/* Spit-out information when recieved */
stream.on('info', (info) => {
console.log(info.title); // Tobu - Roots
console.log(info.video_id); // H7NuU-dDRLU
});
注意:如果只是需要获取信息,请改用
YTDL.getInfo。
【讨论】:
你要找的是getInfo()
https://github.com/fent/node-ytdl-core#ytdlgetinfourl-options-callbackerr-info
getInfo('https://www.youtube.com/watch?v=YQHsXMglC9A', function(err, info) {
console.log(info.title) // "Adele - Hello"
});
【讨论】: