eyed3 mp3 метаданные в python - PullRequest
0 голосов
/ 10 июля 2020
import eyed3

filename = "/home/chris/Music/Αναστάσιμα τροπάρια ή άλλα τροπάρια Δεσποτικών, Θεομητορικών ή άλλων εορτών Αγίων/ΑΓΙΑ ΣΚΕΠΗ.mp3"
filename2 = "/home/chris/Music/Αναστάσιμα τροπάρια ή άλλα τροπάρια Δεσποτικών, Θεομητορικών ή άλλων εορτών Αγίων/ΑΓΙΟΙ ΑΓΓΕΛΟΙ.mp3"
filename3 = "/home/chris/Documents/Python/Papinhio player/version 2.1/diskets box/songs/mp3/Μιχάλης Χατζηγιάννης - Που Είναι Η Αγάπη - Official Audio Release.mp3"
audiofile = eyed3.load(filename3)
audiofile.tag.artist = "Artist"

audiofile.tag.save()

Третий мп3 файл работает правильно. Он был создан из python с помощью модуля AudioSegment (

команда, которая создает файл:

self.extension = self.sound_imported_filename.split(".")[-1]
        self.filename = self.sound_imported_filename.split("/")[-1].split(".")[0]
        self.audio = AudioSegment.from_file(self.sound_imported_filename, format=self.extension)
        self.audio_info = mediainfo(self.sound_imported_filename)
self.audio.export("/home/chris/Documents/Python/Papinhio player/version 2.1/diskets box/songs/mp3/"+self.filename+".mp3", format="mp3")

Первые два файла mp3 были загружены с youtube-to-mp3.com, я думаю ( Я не уверен).

Проблема в том, что с первыми двумя файлами я получаю эту ошибку:

root@chris-pc:/home/chris/Documents/Python/Papinhio player/version 2.1/main/test# python3.6 metadata.py 
Traceback (most recent call last):
  File "metadata.py", line 7, in <module>
    audiofile.tag.artist = "Artist"
AttributeError: 'NoneType' object has no attribute 'artist'

Что не так с первыми двумя mp3-файлами?

Я загрузил первый mp3-файл для использования на Google Диске

Изменить:

import eyed3
from pydub.audio_segment import AudioSegment

filename1 = "/home/chris/Music/Αναστάσιμα τροπάρια ή άλλα τροπάρια Δεσποτικών, Θεομητορικών ή άλλων εορτών Αγίων/ΑΓΙΑ ΣΚΕΠΗ.mp3"
filename2 = "/home/chris/Music/Αναστάσιμα τροπάρια ή άλλα τροπάρια Δεσποτικών, Θεομητορικών ή άλλων εορτών Αγίων/ΑΓΙΟΙ ΑΓΓΕΛΟΙ.mp3"
filename3 = "/home/chris/Documents/Python/Papinhio player/version 2.1/diskets box/songs/mp3/Μιχάλης Χατζηγιάννης - Που Είναι Η Αγάπη - Official Audio Release.mp3"

try:
    audiofile = eyed3.load(filename2)
    audiofile.tag.artist = "Artist"
    audiofile.tag.save()
except:
    audio = AudioSegment.from_file(filename2, format="mp3")
    audio.export(filename2, format="mp3",bitrate="128.0")
    audiofile = eyed3.load(filename2)
    audiofile.tag.artist = "Artist"
    audiofile.tag.save()

Приведенный выше код работает, но я не Не знаю, почему нет первого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...