コード例 #1
0
ファイル: AudioFile.py プロジェクト: Emilv2/mandarintones
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