所以我试图在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()给出的东西,但它一直说它是'未定义的'。
如果你们有任何想法我会很高兴尝试这些。
谢谢卢卡斯
答案 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();