예제 #1
0
 def getOneSongInfo(self, songPath: str):
     """ 获取一首歌的信息 """
     tag = TinyTag.get(songPath)
     fileInfo = QFileInfo(songPath)
     # 获取标签信息
     suffix = "." + fileInfo.suffix()
     songName = tag.title if tag.title and tag.title.strip(
     ) else fileInfo.baseName()
     songer = tag.artist if tag.artist and tag.artist.strip() else "未知艺术家"
     album = tag.album if tag.album and tag.album.strip() else "未知专辑"
     tracknumber = str(tag.track) if tag.track else "0"
     tcon = tag.genre if tag.genre else "未知流派"
     duration = f"{int(tag.duration//60)}:{int(tag.duration%60):02}"
     album_list = adjustAlbumName(album)
     # 调整曲目序号
     tracknumber = self.__adjustTrackNumber(tracknumber)
     # 获取年份
     if tag.year and tag.year[0] != "0":
         year = tag.year[:4] + "年"
     else:
         tag = File(songPath)
         key_dict = {".m4a": "©day", ".mp3": "TDRC", ".flac": "year"}
         year = (str(tag.get(key_dict[suffix])[0])[:4] +
                 "年" if tag.get(key_dict[suffix]) else "未知年份")
     # 获取时间戳
     createTime = fileInfo.birthTime().toString(Qt.ISODate)
     modifiedTime = fileInfo.lastModified().toString(Qt.ISODate)
     songInfo = {
         "songPath": songPath,
         "songer": songer,
         "songName": songName,
         "album": album_list[0],  # album为原专辑名
         "modifiedAlbum": album_list[-1],  # modifiedAlbum为修改后的专辑名
         "tcon": tcon,
         "year": year,
         "tracknumber": tracknumber,
         "duration": duration,
         "suffix": suffix,
         "createTime": createTime,
         "modifiedTime": modifiedTime,
     }
     return songInfo
예제 #2
0
 def on_btnInfo_birthTime_clicked(self):
     self.__showBtnInfo(self.sender())
     fileInfo = QFileInfo(self.ui.editFile.text())
     dt = fileInfo.birthTime()  # QDateTime
     text = dt.toString("yyyy-MM-dd hh:mm:ss")
     self.ui.textEdit.appendPlainText(text + "\n")