在这篇Python Kivy文章中,我们将学习如何在Kivy中播放Mp3音乐,因此我们需要使用kivy.core.audio中的SoundLoader类。

我们将创建两个示例,第一个是一个简单的示例,第二个是一个复杂的例子。这是第一个示例代码。

如何使用Python Kivy播放mp3音乐的源代码

from kivy.app import App
from kivy.core.audio import SoundLoader
from kivy.uix.label import Label

#our main window class 
class LinuxMiMusicWindow(App):

    def build(self):

        #加载mp3音乐
        music = SoundLoader.load('300.ai.mp3')

        #检查音乐是否存在
        if music:
            music.play()

        return Label(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文件中创建的按钮连接起来。

from kivy.app import App
from kivy.core.audio import SoundLoader
from kivy.uix.floatlayout import FloatLayout

class MyFloatLayout(FloatLayout):

    def play_music(self):
        music = SoundLoader.load('300.ai.mp3')

        if music:
            music.play()

class LinuxMiMusicWindow(App):

    def build(self):

        return MyFloatLayout()

if __name__ == "__main__":
    window = LinuxMiMusicWindow()
    window.run()

现在你需要创建一个.kv文件,我将它命名为linuxmimusicwindow。确保你的kv文件名应该和你的主App类一样,在我的例子中,主窗口的类名是MusicWindow,我的kv文件名应该是linuxmimusicwindow.kv。在kv文件中,我们创建了一个按钮,并将该按钮与MyFloatLayout类中的play_music()方法连接起来。

#:kivy 1.10.0

<MyFloatLayout>:

    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音乐。

发表评论

电子邮件地址不会被公开。 必填项已用*标注