Wie kann ich mit JavaScript die Länge einer .mp3 Datei ermitteln?

3 Antworten

Von Experte MrAmazing2 bestätigt

Die Gesamtlänge findest Du mit duration raus:

https://www.w3schools.com/tags/av_prop_duration.asp

Die aktuelle Position mit currentTime

https://www.w3schools.com/tags/av_prop_currenttime.asp

Woher ich das weiß:Berufserfahrung – Entwicklung von Apps und Websites

Pascali309  26.05.2021, 17:11

Ja genau das meine ich doch hab den Command aber nd so schnell gefunden

0
JFhatFragen 
Beitragsersteller
 26.05.2021, 17:12

Danke! Das ist sehr hilfreich!

0
const createBar = require("string-progressbar");
const { MessageEmbed } = require("discord.js");


const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");


i18n.setLocale(LOCALE);


module.exports = {
  name: "np",
  description: i18n.__("nowplaying.description"),
  execute(message) {
    const queue = message.client.queue.get(message.guild.id);
    if (!queue) return message.reply(i18n.__("nowplaying.errorNotQueue")).catch(console.error);


    const song = queue.songs[0];
    const seek = (queue.connection.dispatcher.streamTime - queue.connection.dispatcher.pausedTime) / 1000;
    const left = song.duration - seek;


    let nowPlaying = new MessageEmbed()
      .setTitle(i18n.__("nowplaying.embedTitle"))
      .setDescription(`${song.title}\n${song.url}`)
      .setColor("#F8AA2A")
      .setAuthor(message.client.user.username);


    if (song.duration > 0) {
      nowPlaying.addField(
        "\u200b",
        new Date(seek * 1000).toISOString().substr(11, 8) +
          "[" +
          createBar(song.duration == 0 ? seek : song.duration, seek, 20)[0] +
          "]" +
          (song.duration == 0 ? " ◉ LIVE" : new Date(song.duration * 1000).toISOString().substr(11, 8)),
        false
      );
      nowPlaying.setFooter(
        i18n.__mf("nowplaying.timeRemaining", { time: new Date(left * 1000).toISOString().substr(11, 8) })
      );
    }


    return message.channel.send(nowPlaying);
  }
};

//So hab ich das vllt kannst damit was anfangen

JFhatFragen 
Beitragsersteller
 26.05.2021, 17:15

Ich finde das ziemlich kompliziert... Ist das nicht komplizierter als es sein müsste?

1
webhorst  28.05.2021, 14:20
@JFhatFragen
var au = document.createElement('audio');

au.src = "https://bla.bla/myaudio.mp3";

au.addEventListener('loadedmetadata', function(){
    var duration = au.duration;
    alert("Länge: " + duration + " Sekunden");
},false);

Müsstest dir das eben dann noch in Minuten umrechnen

0