• 大小: 14.03MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-07-21
  • 语言: 其他
  • 标签: Kivy  开发  

资源简介

个人开发的一个Kivy项目,每行都有注释,适合刚入门的Kivy学习者学习,通过这个项目让自己很容易了解学习Kivy,达到自己能做项目的目的

资源截图

代码片段和文件信息

#coding:utf-8
‘‘‘
Audio example
=============

This example plays sounds of different formats. You should see a grid of
buttons labelled with filenames. Clicking on the buttons will play or
restart each sound. Not all sound formats will play on all platforms.

All the sounds are from the http://woolyss.com/chipmusic-samples.php
“THE FREESOUND PROJECT“ Under Creative Commons Sampling Plus 1.0 License.

‘‘‘

import kivy
(‘1.0.8‘)

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.core.audio import SoundLoader
from kivy.properties import StringProperty objectProperty NumericProperty
from glob import glob
from os.path import dirname join basename

# 点击按钮播放类AudioButton
class AudioButton(Button):
    #文件名
    filename = StringProperty(None)
    #声音
    sound = objectProperty(None allownone=True)
    #音量调用了kivy中的NumericProperty
    volume = NumericProperty(1.0)
    #下点击后操作
    def on_press(self):
        #如果没播放,就播放点击按钮下的文件
        if self.sound is None:
            self.sound = SoundLoader.load(self.filename)
        # stop the sound if it‘s currently playing
        #如果状态不等于stop就stop他
        if self.sound.status != ‘stop‘:
            self.sound.stop()
        #下声音大小
        self.sound.volume = self.volume
        #下真正播放??
        self.sound.play()

    def release_audio(self):
        if self.sound:
            self.sound.stop()
            self.sound.unload()
            self.sound = None
    #控制声音大小
    def set_volume(self volume):
        self.volume = volume
        if self.sound:
            self.sound.volume = volume

#AudioBackground
class AudioBackground(BoxLayout):
    pass


class AudioApp(App):

    def build(self):

        root = AudioBackground(spacing=5)
        for fn in glob(join(dirname(__file__) ‘*.wav‘)):
            btn = AudioButton(
                text=basename(fn[:-4]).replace(‘_‘ ‘ ‘) filename=fn
                size_hint=(0.3 0.2) halign=‘center‘
                size=(12 12) text_size=(118 None)
                font_name = ‘ziti.ttf‘)
            root.ids.sl.add_widget(btn)

        return root

    def release_audio(self):
        for audiobutton in self.root.ids.sl.children:
            audiobutton.release_audio()

    def set_volume(self value):
        for audiobutton in self.root.ids.sl.children:
            audiobutton.set_volume(value)


if __name__ == ‘__main__‘:
    AudioApp().run()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1277  2017-03-09 11:32  micanlai\audio.kv

     文件      31433  2016-12-28 11:39  micanlai\background.jpg

     文件    4314872  2017-01-10 16:10  micanlai\bitter_cat_sound.wav

     文件    2226904  2017-01-10 16:14  micanlai\bron_cat 13s.wav

     文件    1473196  2017-01-10 16:14  micanlai\cat_battle_sound.wav

     文件      40044  2017-01-09 10:28  micanlai\Cat_Sound 1s.wav

     文件   13063052  2017-01-10 16:10  micanlai\continue.wav

     文件       7318  2017-01-11 16:35  micanlai\dondake.png

     文件    4996324  2017-01-10 16:12  micanlai\kitty_sound 28s.wav

     文件     821972  2017-01-10 16:11  micanlai\kitty_sound 5s.wav

     文件     160652  2017-01-10 16:11  micanlai\kitty_sound 7s.wav

     文件     160652  2017-01-10 16:11  micanlai\kitty_sound01.wav

     文件       2576  2017-03-09 11:25  micanlai\main.py

     文件    4168180  2017-01-10 16:15  micanlai\old_cat 24s.wav

     文件      20780  2017-01-10 16:11  micanlai\old_cat01 1s .wav

     文件      14276  2017-01-10 16:09  micanlai\old_cat_02 1s.wav

     文件    1395252  2015-03-05 14:20  micanlai\ziti.ttf

     目录          0  2017-01-11 16:58  micanlai\__pycache__

     目录          0  2017-07-26 20:53  micanlai

----------- ---------  ---------- -----  ----

             32898760                    19


评论

共有 条评论