psychopy 音频时长代码_PsychoPy入门_03_视频和音频的呈现
不靠譜PsychoPy入門(mén)教程目錄:
誒,這次說(shuō)一下視頻和音頻的呈現(xiàn)。(這部分可用性較差,隨意參看一下吧。)
把上一篇中的代碼拿過(guò)來(lái),刪去圖片部分,把文字呈現(xiàn)時(shí)間改回兩秒。我們的開(kāi)始代碼是這樣的:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#示例3
'''
視頻和音頻的呈現(xiàn)
'''
#載入所需要的庫(kù)
from psychopy import visual, core, event
#創(chuàng)建窗口
win = visual.Window(fullscr = False,
size = (1000,600),
color = (-1.0,-1.0,-1.0))
#文字
text_1 = visual.TextStim(win, text = u'示例3',
height = 0.12,
pos = (0.0,0.2),
bold = True,
italic = False,
color = 'pink')
text_2 = visual.TextStim(win, text = u'',
height = 0.1,
pos = (0.0,-0.2),
bold = True,
italic = False,
color = 'violet')
text_2.text= u'視頻和音頻'
#呈現(xiàn)文字刺激
text_1.draw()
text_2.draw()
win.flip()
core.wait(2)
win.close()
core.quit()
呈現(xiàn)刺激的方法呢基本上都差不多,先建個(gè)刺激,然后draw()。視頻和文字圖片的差別在于它有變化,需要連續(xù)呈現(xiàn)。直接來(lái)看代碼吧。
#視頻刺激
mov_1 = visual.MovieStim(win, 'mov_1.avi')
mov_1.size *= 0.7
#播放視頻
while mov_1.status != visual.FINISHED:
mov_1.draw()
win.flip()
if event.getKeys(keyList = ['escape']):
mov_1.pause()
break
這里用來(lái)呈現(xiàn)視頻的是visual.MovieStim(),括號(hào)里是它的各項(xiàng)參數(shù)。參數(shù)的含義和設(shè)置方法參見(jiàn)官網(wǎng)手冊(cè)movieStim()。剛?cè)ッ榱艘谎?#xff0c;官網(wǎng)把這一項(xiàng)刪掉了,為啥呢?
不過(guò)程序還可以跑,接著說(shuō)一下吧。視頻和腳本放在同一文件夾下。視頻格式最好轉(zhuǎn)成常用的格式。
視頻的呈現(xiàn)用到一個(gè)while循環(huán),沒(méi)有結(jié)束之前持續(xù)播放。在循環(huán)里設(shè)置一個(gè)退出鍵,這個(gè)是必須的,不然跳不出來(lái)。我用了escape鍵,就是左上角那個(gè)ESC。
音頻的話并沒(méi)有一個(gè)專(zhuān)門(mén)的函數(shù),如果確實(shí)需要播放音頻,就把mp3格式轉(zhuǎn)為avi格式來(lái)播放。方法跟上面視頻呈現(xiàn)完全一樣。
整體代碼如下:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#示例3
'''
視頻和音頻的呈現(xiàn)
'''
#載入所需要的庫(kù)
from psychopy import visual, core, event
#創(chuàng)建窗口
win = visual.Window(fullscr = False, size = (1000,600),
color = (-1.0,-1.0,-1.0))
#文字
text_1 = visual.TextStim(win, text = u'示例3', height = 0.12, pos = (0.0,0.2), color = 'pink')
text_2 = visual.TextStim(win, text = u'', height = 0.1, pos = (0.0,-0.2), color = 'skyblue')
text_2.text= u'視頻和音頻'
#呈現(xiàn)文字刺激
text_1.draw()
text_2.draw()
win.flip()
core.wait(2)
#視頻刺激
mov_1 = visual.MovieStim(win, 'mov_1.avi')
mov_1.size *= 0.7
#播放視頻
while mov_1.status != visual.FINISHED:
mov_1.draw()
win.flip()
if event.getKeys(keyList = ['escape']):
mov_1.pause()
break
#音頻刺激
mov_2 = visual.MovieStim(win, 'audio.avi' )
mov_text = visual.TextStim(win, text = u'音頻播放中')
while mov_2.status != visual.FINISHED:
mov_2.draw()
mov_text.draw()
win.flip()
if event.getKeys(keyList = ['escape']):
break
win.close()
core.quit()
有什么疑問(wèn)或建議請(qǐng)?jiān)谙路皆u(píng)論。
總結(jié)
以上是生活随笔為你收集整理的psychopy 音频时长代码_PsychoPy入门_03_视频和音频的呈现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度相机种类_深度相机原理
- 下一篇: axure9的中继器在哪编辑_Axure