示例#1
0
文件: mp3.py 项目: gadget1999/linux
#!/usr/bin/env python3
''' Utility class to manage MP3 files in batch
'''
import os
from pydub import AudioSegment
import eyed3
# logging
from common import Logger, ExitSignal, CLIParser
logger = Logger.getLogger()
# disable debug from libraries
import logging
logging.getLogger("pydub").setLevel(logging.WARNING)
logging.getLogger("eyed3").setLevel(logging.WARNING)
logging.getLogger("ffmpeg").setLevel(logging.WARNING)


class MP3File:
    def __init__(self, path):
        self.name = os.path.basename(path)
        self.__audio_stream = AudioSegment.from_mp3(path)
        self.length = self.__audio_stream.duration_seconds
        self.channels = self.__audio_stream.channels
        self.max_vol = self.__audio_stream.max_dBFS
        self.avg_vol = self.__audio_stream.dBFS
        audiofile = eyed3.load(path)
        self.bitrate = audiofile.info.bit_rate[1]
        self.artist = audiofile.tag.artist
        self.album = audiofile.tag.album
        self.title = audiofile.tag.title

    def vol_up(self, gain=None):