Exemple #1
0
def draw():
	g.scr.nodelay(True)
	statMsg = 'MP3 文件:' + path.basename(g.song)
	lrcTitle = '未知歌曲名'
	if g.lrcFile:
		lrcMsg = 'LRC 文件:' + path.basename(g.lrcFile)
		if lrc.g.lrcds.has_key('ti'):
			lrcTitle = lrc.g.lrcds['ti']
		lyrics = lrc.getLrc(g.current_time)
	else:
		lrcMsg = '没有 LRC 文件'
		lyrics = ['提醒:', '找不到 LRC 文件。',\
				"您有没有将其命名为  %s 呢?" % path.basename(lrc.changeExt(g.song))]
	statMsg = threelize(statMsg, lrcTitle, lrcMsg, g.scr.getmaxyx()[1] - 4)
	msgs = [[statMsg, 4],\
			['', 1],\
			[lyrics[0], 6],\
			[lyrics[1], 5],\
			[lyrics[2], 6],\
			['', 1],\
			[generateStatus(), 1]]
	drawMessage('LRC MP3 播放器 v0.2', msgs)
	if g.step == 0:
		key = g.scr.getch()
		if key in range(256):
			if chr(key) == 'q':
				exit()
			elif chr(key) == 'p':
				player.g.paused = True
				g.step = 1
				curses.beep()
			elif chr(key) == 's':
				player.g.skip = True
			elif chr(key) == 'h':
				showHelp()
	elif g.step == 1:
		key = g.scr.getch()
		if key in range(256):
			if chr(key) == 'q':
				exit()
			elif chr(key) == 'p':
				player.g.paused = False
				g.step = 0
			elif chr(key) == 'h':
				showHelp()
Exemple #2
0
def draw():
    g.scr.nodelay(True)
    statMsg = 'MP3 文件:' + path.basename(g.song)
    lrcTitle = '未知歌曲名'
    if g.lrcFile:
        lrcMsg = 'LRC 文件:' + path.basename(g.lrcFile)
        if lrc.g.lrcds.has_key('ti'):
            lrcTitle = lrc.g.lrcds['ti']
        lyrics = lrc.getLrc(g.current_time)
    else:
        lrcMsg = '没有 LRC 文件'
        lyrics = ['提醒:', '找不到 LRC 文件。',\
          "您有没有将其命名为  %s 呢?" % path.basename(lrc.changeExt(g.song))]
    statMsg = threelize(statMsg, lrcTitle, lrcMsg, g.scr.getmaxyx()[1] - 4)
    msgs = [[statMsg, 4],\
      ['', 1],\
      [lyrics[0], 6],\
      [lyrics[1], 5],\
      [lyrics[2], 6],\
      ['', 1],\
      [generateStatus(), 1]]
    drawMessage('LRC MP3 播放器 v0.2', msgs)
    if g.step == 0:
        key = g.scr.getch()
        if key in range(256):
            if chr(key) == 'q':
                exit()
            elif chr(key) == 'p':
                player.g.paused = True
                g.step = 1
                curses.beep()
            elif chr(key) == 's':
                player.g.skip = True
            elif chr(key) == 'h':
                showHelp()
    elif g.step == 1:
        key = g.scr.getch()
        if key in range(256):
            if chr(key) == 'q':
                exit()
            elif chr(key) == 'p':
                player.g.paused = False
                g.step = 0
            elif chr(key) == 'h':
                showHelp()
Exemple #3
0
def play(f):  # f: Filename
    if not path.exists(f):
        ui.throw('文件不存在:' + f)
        return
    mf = mad.MadFile(f)
    dev = ao.AudioDevice('alsa', rate = mf.samplerate())
    ui.setInfo(f, mf.total_time())
    ui.g.lrcFile = lrc.changeExt(f)
    if not lrc.loadLrc(ui.g.lrcFile):  # No LRC file
        ui.g.lrcFile = ''
    g.skip = False
    while not g.skip:
        if not g.paused:
            buf = mf.read()
            if buf is None:
                break
            dev.play(buf, len(buf))
            ui.setTime(mf.current_time())
        else:
            time.sleep(0.1)
        ui.draw()
Exemple #4
0
def play(f):  # f: Filename
    if not path.exists(f):
        ui.throw('文件不存在:' + f)
        return
    mf = mad.MadFile(f)
    dev = ao.AudioDevice('alsa', rate=mf.samplerate())
    ui.setInfo(f, mf.total_time())
    ui.g.lrcFile = lrc.changeExt(f)
    if not lrc.loadLrc(ui.g.lrcFile):  # No LRC file
        ui.g.lrcFile = ''
    g.skip = False
    while not g.skip:
        if not g.paused:
            buf = mf.read()
            if buf is None:
                break
            dev.play(buf, len(buf))
            ui.setTime(mf.current_time())
        else:
            time.sleep(0.1)
        ui.draw()