PsychoPy入門_03_視訊和音訊的呈現
不靠譜PsychoPy入門教程目錄:
誒,這次說一下視訊和音訊的呈現。(這部分可用性較差,隨意參看一下吧。)
把上一篇中的程式碼拿過來,刪去圖片部分,把文字呈現時間改回兩秒。我們的開始程式碼是這樣的:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#示例3
'''
視訊和音訊的呈現
'''
#載入所需要的庫
from psychopy import visual, core, event
#建立視窗
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'視訊和音訊'
#呈現文字刺激
text_1.draw()
text_2.draw()
win.flip()
core.wait(2)
win.close()
core.quit()
呈現刺激的方法呢基本上都差不多,先建個刺激,然後draw()。視訊和文字圖片的差別在於它有變化,需要連續呈現。直接來看程式碼吧。
#視訊刺激
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
這裡用來呈現視訊的是visual.MovieStim(),括號裡是它的各項引數。引數的含義和設定方法參見官網手冊movieStim()。剛去瞄了一眼,官網把這一項刪掉了,為啥呢?
不過程式還可以跑,接著說一下吧。視訊和指令碼放在同一資料夾下。視訊格式最好轉成常用的格式。
視訊的呈現用到一個while迴圈,沒有結束之前持續播放。在迴圈裡設定一個退出鍵,這個是必須的,不然跳不出來。我用了escape鍵,就是左上角那個ESC。
音訊的話並沒有一個專門的函式,如果確實需要播放音訊,就把mp3格式轉為avi格式來播放。方法跟上面視訊呈現完全一樣。
整體程式碼如下:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#示例3
'''
視訊和音訊的呈現
'''
#載入所需要的庫
from psychopy import visual, core, event
#建立視窗
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'視訊和音訊'
#呈現文字刺激
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()
有什麼疑問或建議請在下方評論。
相關文章
- 音視訊--音訊入門音訊
- 音視訊–音訊入門音訊
- 音視訊--視訊入門
- HTML的音訊和視訊HTML音訊
- 音視訊基本概念和FFmpeg的簡單入門
- 音視訊入門之音訊採集、編碼、播放音訊
- 小程式音訊和視訊音訊
- 帶你用AVPlayer實現音訊和視訊播放音訊
- 第 9 章 音訊和視訊音訊
- HTML5 音訊和視訊HTML音訊
- 實時音視訊技術入門提綱
- 短視訊“音訊化”,音樂“視訊化”音訊
- 音視訊通訊——直播協議和視訊推流協議
- 20款jQuery 的音訊和視訊外掛jQuery音訊
- Android 音視訊入門:C語言基礎AndroidC語言
- 如何在PR中同步音訊和視訊音訊
- Ansible入門視訊
- Groovy入門視訊教程
- Android音視訊之MediaPlayer音視訊播放Android
- 視訊直播和實時音視訊區別調研
- 音訊訊號處理入門音訊
- Android音視訊之MediaRecorder音視訊錄製Android
- 音視訊入門系列之繪製圖片三種方式
- IOS音視訊(二)AVFoundation視訊捕捉iOS
- 視音訊播放音訊
- Android 音視訊開發 視訊編碼,音訊編碼格式Android音訊
- iOS開發:音訊播放、錄音、視訊播放、拍照、視訊錄製iOS音訊
- 音視訊開發-全網最全常用音視訊編碼和格式彙總
- 如何一鍵批量合併視訊、文案和音訊?音訊
- Mac音訊和視訊同步工具:Red Giant PluralEyesMac音訊
- 基於webRTC技術 音訊和視訊,IM解Web音訊
- Android 音視訊 - MediaCodec 編解碼音視訊Android
- PsychoPy入門_00_簡介
- iOS 視訊剪下、旋轉,視訊新增音訊、新增水印,視訊匯出iOS音訊
- Mac線上視訊音訊提取工具Mac音訊
- 安裝Ubunutu音訊視訊庫音訊
- android音視訊指南-管理音訊焦點Android音訊
- WebRTC 音視訊同步原理與實現Web