资源简介
个人开发的一个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
相关资源
- CMM 中文版高清pdf
- 具有可编程环路补偿功能高密度电源
- Quartus II 15.0中仿真DDR2 IP核
- 前端Vue+Node+MongoDB高级全栈开发
- NetApp FAS3050助阿尔卡特建ClearCase加速软
- S32K144 和S32K SDK开发入门培训.pdf
- 虚拟摄像头VCam开发SDK
- Linux系统文件命令精通指南(下)
- 整理的ModbusProtocol SDK开发包
- RK3308 LINUX开发者指南(1).pdf
- 关于proteus仿真arm7出现错误的问题
- 基于ARM开发板的车辆检测系统控制单
- S3C4510 开发板中uCLinux系统开发
- IBM日本和东京三菱银行基于Web服务开
- VC2005开发工具实现数据手套抓取移动
- 安富莱STM32开发板资料
-
基于ADO开发ob
jectARX数据库应用程序 - 软件项目管理开发文档模板.rar
- 金蝶ERP二次开发技术手册
- 项目开发计划与跟踪汇总表模板
- 使用delphi+intraweb进行微信开发1~4代码
- FX3U 以太网通讯开发 MC协议
- 微软雅黑Monaco开发字体中文微软雅黑
- swift-swift版本的简易WKWebview浏览器带加
- swift-模仿类似聊天的UI
- Delphi7正式企业版
- 通用LED显示屏控件Delphi开发例程源码
- 客户关系管理系统delphi开发的CRM
- labview大型应用程序开发流程与技巧
- office_word_api 开发文档
评论
共有 条评论