class AudioFile(): """ Class for the audiofile. Provides all methods to interact with the audio: play, check answer, ... """ def __init__(self): self._filename = _read_file() self._audio = MediaPlayer(AUDIO_DIR + "/" + self.filename) self.play() def play(self): """play the audio of the file""" self._audio.stop() self._audio.play() logger.info('playing ' + self.filename) def check_answer(self, answer): """ Check if the provided answer is correct. The format should be sound + tone and no seperator between syllables ie shang4hai3 """ return answer == self._filename.split("__")[0].replace("_", "") def get_pinyin(self): return get_pinyin(self.filename) def get_id(self): return get_id(self.filename) def get_extension(self): return get_extension(self.extension) def __del__(self): self._audio.release() @property def filename(self): return self._filename