我已经下载了ytdl-core,并将其与discord.js一起使用。我有一个命令可以将YouTube视频的音频播放到语音聊天中。有没有人知道我可以通过链接得到视频标题的字符串,或者获得标题的简单方法?更简单的方法就是以某种方式从链接中获取视频标题。任何帮助表示赞赏!谢谢!
答案 0 :(得分:3)
您要找的是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"
});
答案 1 :(得分:1)
当您通过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
。
答案 2 :(得分:1)
您可以使用下面的功能,它对我来说非常合适:
function getTitleVideo (videoUrl){
return new Promise ((resolve, reject) => {
ytdl.getBasicInfo (videoUrl, (err, info) => {
resolve (info.title)
})
})
}
答案 3 :(得分:0)
使用 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"
});