ytdl-core getInfo()函数

时间:2016-12-22 14:51:17

标签: node.js

所以我试图在Node.js中使用ytdl从youtube URL获取metainfo 这是我目前正在尝试的代码:

ytdl.getInfo('https://www.youtube.com/watch?v=YQHsXMglC9A',{downloadURL: true},
  function(err, info) {
    if (err) throw err;
       console.log(info.title);
  }
);

所以,这很好用,我得到了这首歌的标题。现在我正在尝试实际获取信息,就像在var中存储它一样供我稍后使用。我无法管理它,我试图从回调方法返回一些东西或者捕捉getInfo()给出的东西,但它一直说它是'未定义的'。

如果你们有任何想法我会很高兴尝试这些。

谢谢卢卡斯

2 个答案:

答案 0 :(得分:0)

也许做这样的事情

ytdl.getInfo('https://www.youtube.com/watch?v=YQHsXMglC9A',{downloadURL: true},
  function(err, info) {
    if (err) throw err;
       var songTitle = info.title //you can store it here
       console.log(songTitle);
  }
);
  

使用ytdl-core下载视频/音频时,请使用事件处理程序!   
  将首先获取信息,然后下载音频/视频。

     
ytdl(youtube_url)
.on('info', (info) => {
  console.log(info.title); // the video title
});

答案 1 :(得分:0)

尝试一下:

const = {
    Util
} = require("discord.js");
const ytdl = require("ytdl-core");

async function gettheytdl(){
    var getinfo = await ytdl.getBasicInfo('https://www.youtube.com/watch?v=YQHsXMglC9A');
    var title = Util.escapeMarkdown(getinfo.videoDetails.title);
    console.log("The title of the song: "+title);
}
gettheytdl();