设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 14212|回复: 5
打印 上一主题 下一主题

求老师帮忙解决声控打开视频的程序的编写,急!

[复制链接]

1

主题

0

好友

7

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2017-5-15 19:05:13 |只看该作者 |倒序浏览
Python小白一枚,部分代码(声控部分)是照抄的100行写出八音符声控游戏的,然后把声控部分做成注释后,改变视频播放的缩进就可以正常运行,但是像这样有声控条件的话就不行,请问这是为什么呢?下个周就要当做作品展示了,急!!

QQ图片20170515185537.png (21.48 KB, 下载次数: 286)

代码

代码

1.jpg (127 KB, 下载次数: 279)

运行结果

运行结果

回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2017-5-15 22:45:25 |只看该作者
声音取样是要有时间的。之前在游戏里,是一个持续循环的过程:在开始初始化函数里初始化声音采集相关的方法之后,在update函数里持续判断采集到的声音。
但你现在只有一个瞬间运行的函数,也就是你直接初始化声音输入设备之后,立刻就判断它的采样值,那肯定是没法达到你的要求的。你可以输出k、string_audio_data 这些值看看,肯定是不满足条件的

我没有试过直接在命令行程序里采集声音,如果可行的话,那也应当需要让程序处在一个循环监听的状态,比如你自己写一个while循环,起到之前游戏里update函数类似的作用。另外,有可能声音采样需要单独创建一个线程来做。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2017-5-15 22:47:10 |只看该作者
这种开发你应该一步步来,如果你要实现声控放视频,那首先你应该要实现一个能够采集到声控的程序。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

7

积分

新手上路

Rank: 1

地板
发表于 2017-5-15 22:55:02 |只看该作者
crossin先生 发表于 2017-5-15 22:45
声音取样是要有时间的。之前在游戏里,是一个持续循环的过程:在开始初始化函数里初始化声音采集相关的方法 ...

让程序处于循环监听的状态可以用while的计数实现对吧?但是另外创建一个线程是什么意思呢?
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2017-5-16 21:23:37 |只看该作者
Fenn 发表于 2017-5-15 22:55
让程序处于循环监听的状态可以用while的计数实现对吧?但是另外创建一个线程是什么意思呢? ...

多线程。
只是我的猜想,不确定是否一定需要。因为我不确定你的程序一直循环的话,声音模块是否能正常监听。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

6#
发表于 2017-5-16 21:24:50 |只看该作者
Fenn 发表于 2017-5-15 22:55
让程序处于循环监听的状态可以用while的计数实现对吧?但是另外创建一个线程是什么意思呢? ...

你先找些 pyaudio 的代码例子跑一跑看,看看可行性上是否满足你。
没问题之后再嫁接上打开视频
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-27 13:40 , Processed in 0.027163 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部