原标题:Python Kivy速成系列课程:使用Kivy播放mp3音乐
来自:https://www.linuxmi.com/python-kivy-play-mp3.html
在这篇Python Kivy文章中,我们将学习如何在Kivy中播放Mp3音乐,因此我们需要使用kivy.core.audio中的SoundLoader类。
我们将创建两个示例,第一个是一个简单的示例,第二个是一个复杂的例子。这是第一个示例代码。
如何使用Python Kivy播放mp3音乐的源代码
fromkivy.app importApp
fromkivy.core.audio importSoundLoader
fromkivy.uix.label importLabel
#our main window class
classLinuxMi MusicWindow(App):
defbuild(self):
#加载mp3音乐
music = SoundLoader.load( '300.ai.mp3')
#检查音乐是否存在
ifmusic:
music.play
returnLabel(text = "Music is playing,www.linuxmi.com")
if__name__ == "__main__":
window = LinuxMiMusicWindow
window.run
这些是我们在上面的代码中使用的导入,您可以看到我们已经导入了kivy.core.audio模块中的SoundLoader类。
from kivy.app import App
from kivy.core.audio import SoundLoader
from kivy.uix.label import Label
在这行代码中,我们已经加载了mp3音乐,请确保您已添加Mp3
mp3在您的工作目录中,我已经添加了mp3声音。
music = SoundLoader.load('300.ai.mp3')
如果运行代码,您将看到音乐正在播放。
现在让我们创建第二个示例,在这个示例中,我们将使用kivy文件创建一个按钮,然后我们希望在用户单击按钮时播放mp3音乐。
因此,首先创建一个Python文件,我将其命名为linuxmikivymusicapp.py,您可以看到第一类是从FloatLayout扩展的,并且我们还在该类中添加了一个用于加载和播放mp3声音的方法,因为我们将把这个方法与在.kv文件中创建的按钮连接起来。
fromkivy.app importApp
fromkivy.core.audio importSoundLoader
fromkivy.uix.floatlayout importFloatLayout
classMyFloatLayout(FloatLayout):
defplay_music(self):
music = SoundLoader.load( '300.ai.mp3')
ifmusic:
music.play
classLinuxMiMusicWindow(App):
defbuild(self):
returnMyFloatLayout
if__name__ == "__main__":
window = LinuxMiMusicWindow
window.run
现在你需要创建一个.kv文件,我将它命名为linuxmimusicwindow。确保你的kv文件名应该和你的主App类一样,在我的例子中,主窗口的类名是MusicWindow,我的kv文件名应该是linuxmimusicwindow.kv。在kv文件中,我们创建了一个按钮,并将该按钮与MyFloatLayout类中的play_music方法连接起来。
#:kivy 1.10.0
:
Button:
bold: True
size_hint: .8, .1
text: 'Play Music,www.linuxmi.com'
background_color: 0, 2, 1, 1
pos_hint: { "center_x": .5, "center_y": .5}
on_release: root.play_music
现在运行完整的代码,截图如下,如果你点击按钮,将播放mp3音乐。
责任编辑: