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
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")