Crossin的编程教室

标题: 求老师帮忙解决声控打开视频的程序的编写,急! [打印本页]

作者: Fenn    时间: 2017-5-15 19:05
标题: 求老师帮忙解决声控打开视频的程序的编写,急!
Python小白一枚,部分代码(声控部分)是照抄的100行写出八音符声控游戏的,然后把声控部分做成注释后,改变视频播放的缩进就可以正常运行,但是像这样有声控条件的话就不行,请问这是为什么呢?下个周就要当做作品展示了,急!!

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

代码

代码

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

运行结果

运行结果


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

我没有试过直接在命令行程序里采集声音,如果可行的话,那也应当需要让程序处在一个循环监听的状态,比如你自己写一个while循环,起到之前游戏里update函数类似的作用。另外,有可能声音采样需要单独创建一个线程来做。
作者: crossin先生    时间: 2017-5-15 22:47
这种开发你应该一步步来,如果你要实现声控放视频,那首先你应该要实现一个能够采集到声控的程序。
作者: Fenn    时间: 2017-5-15 22:55
crossin先生 发表于 2017-5-15 22:45
声音取样是要有时间的。之前在游戏里,是一个持续循环的过程:在开始初始化函数里初始化声音采集相关的方法 ...

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

多线程。
只是我的猜想,不确定是否一定需要。因为我不确定你的程序一直循环的话,声音模块是否能正常监听。
作者: crossin先生    时间: 2017-5-16 21:24
Fenn 发表于 2017-5-15 22:55
让程序处于循环监听的状态可以用while的计数实现对吧?但是另外创建一个线程是什么意思呢? ...

你先找些 pyaudio 的代码例子跑一跑看,看看可行性上是否满足你。
没问题之后再嫁接上打开视频




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5