2017-05-28 105 views
0

我是Python新手 - Pyglet和Stackoverflow。我想知道如何在Pyglet中顯示當前播放時間和音頻的總持續時間。它清楚地在Pyglet Docs中給出,但我並沒有嚴格瞭解如何正確使用它。所以我很樂意請求幫助。通過展示一個例子將會更容易。謝謝!如何使用Pyglet顯示當前時間和音頻的持續時間?

這裏是我的代碼..

from tkinter import* 
import pyglet 

root = Tk() 

player = pyglet.media.Player() 
song = "er.mp3" 
src = pyglet.media.load(song) 
player.queue(src) 

def play(): 
    player.play() 

def pause(): 
    player.pause() 

button_1 = Button(root,text = "Play", command = play) 
button_1.pack() 
button_2 = Button(root,text = "Pause", command = pause) 
button_2.pack() 

root.mainloop() 

(對不起壞英語)

回答

0

簡短的回答是:

current_time = player.time 

這將使/存儲當前正在播放的音頻的時間。
你如何處理這些信息取決於你,我假設你想將它添加到標籤或其他東西。

v = StringVar() 
Label(master, textvariable=v).pack() 

# Probably in a event driven loop or something. 
v.set(player.time) 

然而,長的答案是,不要混合你的圖書館。

Pyglet非常適合2D/3D渲染,因爲您可以很好地連接到GL庫。
Pyglet不擅長的是Audio(即使它支持它)。

另一方面,Tkinter並沒有做這些事情,而是給你提供按鈕和其他「小工具」。

我會推薦使用how to play music through python with mpg321下的任何其他庫來用tkinter播放音頻。

如果你使用的是Windows的Snack Sound Toolkit或winsound。