diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2022-11-29 00:37:42 -0500 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2022-11-29 00:37:42 -0500 |
| commit | 6d2b8650972cde46953999195f26c29bb5660d36 (patch) | |
| tree | fa05db82f522daf69a69371ee1edc01ee7dbddf7 /AudioBackend.js | |
| parent | e848cfbbbf1f3387c3d483f54db99b4474068928 (diff) | |
| download | DLAP-6d2b8650972cde46953999195f26c29bb5660d36.tar.gz DLAP-6d2b8650972cde46953999195f26c29bb5660d36.tar.bz2 DLAP-6d2b8650972cde46953999195f26c29bb5660d36.zip | |
Added duration
Diffstat (limited to 'AudioBackend.js')
| -rw-r--r-- | AudioBackend.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/AudioBackend.js b/AudioBackend.js index fab4f4d..b629882 100644 --- a/AudioBackend.js +++ b/AudioBackend.js @@ -41,6 +41,8 @@ let fileData; let totalTrack = files.length; export let currentTrack; +export let duration; +export let formattedDuration; export let playerState; export let isAudioStatePaused; export let metadataEmpty = false; @@ -147,7 +149,7 @@ export async function playAudio(bot) { isAudioStatePaused = false; try { - const { common } = await parseFile('music/' + audio); + const { common, format } = await parseFile('music/' + audio); metadataEmpty = false; if (common.title && common.artist && common.year && common.album) { audioTitle = common.title; @@ -157,6 +159,16 @@ export async function playAudio(bot) { } else { metadataEmpty = true; } + + duration = format.duration; + const toHHMMSS = (numSecs) => { + const secNum = parseInt(numSecs, 10); + const hours = Math.floor(secNum / 3600).toString().padStart(2, '0'); + const minutes = Math.floor((secNum - (hours * 3600)) / 60).toString().padStart(2, '0'); ; + const seconds = secNum - (hours * 3600) - (minutes * 60).toString().padStart(2, '0'); ; + return `${hours}:${minutes}:${seconds}`; + }; + formattedDuration = toHHMMSS(duration); } catch (error) { console.error(error.message); } @@ -173,13 +185,15 @@ export async function playAudio(bot) { const statusEmbed = new EmbedBuilder(); if (metadataEmpty === true) { statusEmbed.addFields({ name: 'Now Playing', value: audio }); + statusEmbed.addFields({ name: 'Duration', value: formattedDuration }); statusEmbed.setColor('#0066ff'); } else { statusEmbed.setTitle('Now Playing'); statusEmbed.addFields( { name: 'Title', value: audioTitle }, { name: 'Artist', value: audioArtist }, - { name: 'Year', value: `${audioYear}` } + { name: 'Year', value: `${audioYear}` }, + { name: 'Duration', value: formattedDuration } ); statusEmbed.setFooter({ text: `${audioAlbum}` }); statusEmbed.setColor('#0066ff'); |
