【达人官网注册码-达人彩票官网注册码】让音乐丰富起来 ——对Python turtle进行拓展

  • 时间:
  • 浏览:0

让音乐富于起来 ——对Python turtle进行拓展

  • 2018/10/24 11:04:34
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:电脑报
  • 作者:

【电脑报在线】 在Scratch中,小猫是还并能 唱歌的,并且Scratch的声音木块有着富于的功能,在这方面Python turtle略有不足英文,今天他们就来完善一下。

了解Python声音模块

Python处置声音的模块而是,并且他们要实现的功能并不比较复杂,而是只并能 用到winsound并都在系统自带的模块就好了.他们要的而是实现类事scratch的功能,用并能很比较复杂的功能的,当然Python并能做的比scratch多多了.

 

Python源代码的特征(图1)对造型的操作也重新定义了某些函数,scratch的积木块相对应Python turtle基础上进行扩充而都在使用PygamePyglet等比较复杂的库导致 Python turtle并都在为了教小孩子编程设计的,在特征上更加符合小孩子的学习习惯,对交互式编程友好,而pygamepyglet不具备这有有一另另1个特点。

 

其中核心的turtle继承自RawTurtle(图2),而RawTurtle继承自TPenTNavigator,有有一另另1个类分别控制画笔的绘制和移动,简单的来说TPen承载的是类事Scratch中画笔积木类的功能(图3),而TNavigator更多的承载了动作积木类的功能。

 

而是要实现Python turtle的声音功能,只要重新写有有一另另1个声音相关的类,并且让RawTurtle继承并都在声音类就ok,当然并能 注意有有一另另1个问提,turtle所有的类都在加入到_tg_turtle_functions并都在列表中,并都在列表保存了turtle所有的最好的办法,用来保证在交互式命令行里,默认turtle的各种最好的办法还并能 直接作为函数调用.

实现TSound类Scratch积木块对应的Python

开工,为了实现TSound,并能 Scratch积木块对应的Python一步步的来实现。先导入winsound库并生命类,应用winsound模块的并且,还并能 访问其在官方的文档,这里介绍播放声音的最好的办法:winsound.PlaySound('d:\coding\maow.wav',winsound.SND_FILENAME)#。第有有一另另1个参数是文件的完整性路径,第四个是播放的标志,winsound.SND_FILENAME代表的是播放的是文件

首先他们导入winsound模块并且利用并都在模块的PlaySound最好的办法播放指定的声音文件那你要实现了。播放直到完毕,停止声音的最好的办法是:winsound.PlaySound(None, winsound.SND_PURGE)对应的是:停止所有声音模块。

默认的声音播放最好的办法是同步的,也而是说播放声音的并且程序运行啥而是你要干,如图4播放的5分钟音频:

导致 这五分钟的音频sound.wav什么什么都没办法 播放完毕,程序运行啥而是你要干,尬不尬。并都在积木块比较霸道,要求并能 等它做完要怎样实现异步播放声音呢,毕竟他们是热爱时间的好少年

这里要用到的是同步标志winsound.SND_ASYNC(图5),我我觉得同样是5分钟的音频,那我底下的语录很明显的执行了

 

找到了与这有有一另另1个积木块对应的winsound语录实现TSoundimage.png(图6),import winsound as snd。

 

 

首先导入winsound模块并重命名为snd(图7),并且生命TSound,定义有有一另另1个函数,实现播放,播放直到和停止所有声音的功能,当然这也仅仅是个实现而已,要真的完善还是并能 比较长的时间,而是给他们简单的举个例子,并都在我我觉得还并能 对照register_shapeshape函数来定义和完善的

TSound去掉 到Turtle的函数列表

 

RawTurtle继承TSound(图8),TSound的最好的办法去掉 到Turtle的函数列表去掉 TSound的最好的办法到turtle的函数列表并且再RawTurtle中初始化一下TSound把修改后的文件重命名为pycat,并且导入并运行。

 

注意,IDLE新建,有有一另另1个sound.py文件并且保所处d:\coding\yaohao目录下导入同目录下的pycat(图9),导致 你的python文件和pycat什么都没办法 同一目录是无法导入pycat

最后,播放声音,停止播放声音,大功告成。

本文出自2018-10-22出版的《电脑报》2018年第41期 A.新闻周刊 (网站编辑:PCW-hjz)

发表给力评论!看新闻,说两句。

匿名 ctrl+enter快捷提交

网站地图 | 版权声明 | 业务合作协议者 | 感情的语录链接 | 关于他们 | 招聘信息

报纸客服电话:60 6677866 报纸客服信箱:pcw-advice@vip.sina.com 感情的语录链接与合作协议者:987349267(QQ) 广告与活动:6760 09(QQ) 网站联系信箱:cpcw@cpcwi.com

Copyright © 60 6-2011 电脑报官方网站 版权所有 渝ICP备60 09040号