微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取每个 mp3 文件的持续时间并同时显示所有文件

如何解决如何获取每个 mp3 文件的持续时间并同时显示所有文件

getDuration 函数获取 mp3 文件的持续时间,但我希望能够像普通 mp3 播放器一样在不播放歌曲的情况下显示其持续时间。 我尝试通过获取歌曲持续时间并循环遍历它来实现它,但它使我的代码崩溃,但是当它没有崩溃时,它只显示一个循环值,我的意思是所有列表项中只显示一个值。

 function getDuration (currentSong) {
        const audio = document.createElement('audio')
        audio.src= currentSong
        const loaded = audio.addEventListener('loadedMetadata',function () {
            const duration = audio.duration
           
        })
        
    }


    <div className={displaySongs ? "Playlist Playlist_show" : "Playlist"}>
         <ul className="Paylist-list">    
         {series?.map((series,index) => (
              
    
             {data?.map((data,index) => {
                 
                const songDuration =  getDuration(data.assets[0].audio)
                console.log(songDuration)
                 return(
                  <li 
                  onClick={(e) => {
                    e.preventDefault()
                    setActive(true)
                      store.addSong(data.assets[0].audio)
                      store.addImage(data.photo)
                      store.addName(data.name)
                      store.addSongIndex(index)
                  }}
                  key={data?.id}>
                  <div className="plItem">
                     <span className="trackNumber">{index + 1}</span> 
                     <span className="trackTitle">
                        <WordLimit limit={15}>
                         {data ? data.name : "word"}
                         </WordLimit> 
                      </span> 
                     <span className="trackTDuration">
                       {songDuration}
                     </span>    
                   </div>
                   </li>
                 )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。