pygame 모듈을 활용하여 키눌림과 키올라감을 감지하는 이벤트 처리와 동시에 음악을 재생하는 모듈도 pygame으로 활용하기로 한다.
-- 터미널 텍스트 박스 (Terminal text box) --
<Drag와 복사가 가능합니다.>
user@user-test:~$ sudo apt-get install python-pygame
-> 로써 모듈을 바로 설치하여 프로그래밍 할 수 있다.
-- 터미널 텍스트 박스 (Terminal text box) --
<Drag와 복사가 가능합니다.>
user@user-test:~$ sudo pip install <파일명.whl>
-> 로써 모듈을 설치 한다.
-- 터미널 텍스트 박스 (Terminal text box) --
<Drag와 복사가 가능합니다.>
// 터미널에서 바로 파일명을 지정하여 다운받자.
user@user-test:~$ wget -O 1.mp3 https://t1.daumcdn.net/cfile/blog/186170454F44FE8911
user@user-test:~$ wget -O 2.mp3 https://t1.daumcdn.net/cfile/blog/156322454F44FE8A0F
user@user-test:~$ wget -O 3.mp3 https://t1.daumcdn.net/cfile/blog/1765AC454F44FE8B0C
user@user-test:~$ wget -O 4.mp3 https://t1.daumcdn.net/cfile/blog/116018454F44FE8C13
user@user-test:~$ wget -O 5.mp3 https://t1.daumcdn.net/cfile/blog/14605A454F44FE8D12
user@user-test:~$ wget -O 6.mp3 https://t1.daumcdn.net/cfile/blog/12586D454F44FE8E18
user@user-test:~$ wget -O 7.mp3 https://t1.daumcdn.net/cfile/blog/1658CC454F44FE8F1C
user@user-test:~$ wget -O 8.mp3 https://t1.daumcdn.net/cfile/blog/125876454F44FE901E
Source_File name : py_piano.py | Type : python | | |
# -*- coding:utf-8 -*-
import pygame, time
from pygame.locals import *
pygame.init() #pygame 라이브러리를 로드 한다.
display_screen = pygame.display.set_mode((815, 85)) # 디스플레이 창 크기 설정
pygame.display.set_caption('MINI PYTHON PIANO') # 디스플레이 이름
pygame.mouse.set_visible(1) # 마우스 커서 활성화
white = (255, 255, 255) # 색 지정
black = (0, 0, 0)
display_font = pygame.font.Font('/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf', 32) # 폰트 지정
text = (u"키보드 1~8까지 꾸욱 눌러 보세요. \n Esc키를 누르면 종료 됩니다.") # 유니코드 인코딩으로 텍스트 설계
display_text = display_font.render(text, True, black, white) # 설게한 텍스트를 랜더링 한다.
display_text_vis = display_text.get_rect() # 디스플레이에 표시
display_text_vis.center = (340, 34) # # 디스플레이에 표시되는 위치 설정
def mp(file): # 소리 파일을 불러 오는 파일을 불러오는 함수
pygame.mixer.music.load(file)
while True:
display_screen.fill(white) # 디스플레이의 배경색 지정
display_screen.blit(display_text, display_text_vis) # 디스플레이에 텍스트 표시
pygame.display.update() # 디스플레이를 계속 업데이트 한다.
for event in pygame.event.get(): # 이벤트 시작
if (event.type == KEYDOWN): # 키를 눌렀을 경우 mp함수가 음악 파일을 불러오고 pygame모듈이 재생
if (event.key == pygame.K_1):
mp("1.mp3")
pygame.mixer.music.play()
if (event.type == KEYDOWN):
if (event.key == pygame.K_2):
mp("2.mp3")
pygame.mixer.music.play()
if (event.type == KEYDOWN):
if (event.key == pygame.K_3):
mp("3.mp3")
pygame.mixer.music.play()
if (event.type == KEYDOWN):
if (event.key == pygame.K_4):
mp("4.mp3")
pygame.mixer.music.play()
if (event.type == KEYDOWN):
if (event.key == pygame.K_5):
mp("5.mp3")
pygame.mixer.music.play()
if (event.type == KEYDOWN):
if (event.key == pygame.K_6):
mp("6.mp3")
pygame.mixer.music.play()
if (event.type == KEYDOWN):
if (event.key == pygame.K_7):
mp("7.mp3")
pygame.mixer.music.play()
if (event.type == KEYDOWN):
if (event.key == pygame.K_8):
mp("8.mp3")
pygame.mixer.music.play()
if (event.type == KEYUP): # 키가 올라갔을때(땠을 때) 재생을 중단 시킴
pygame.mixer.music.stop()
if (event.type == KEYUP): # esc 키를 누르고 땠을때 종료 실행
if (event.key == pygame.K_ESCAPE):
pygame.quit()
if event.type == QUIT: # 창을 종료 했을때 정상 종료 수행
pygame.quit()
-- 터미널 텍스트 박스 (Terminal text box) --
<Drag와 복사가 가능합니다.>
// 코딩이 완료 되었다면 실행해 보자.
user@user-test:~$ python py_piano.py
도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.
그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.
'프로그래밍 > Python' 카테고리의 다른 글
[파이썬 프로그래밍] 파이썬 클래스에 대한 개념을 제대로 이해하자 (0) | 2023.03.07 |
---|---|
파이썬 기초 - json 양식을 dictonory (사전) 형태로 가져오기 (0) | 2020.08.23 |
[파이썬 프로그래밍] 파이썬으로 로또의 랜덤(자동) 확률을 테스트(실험)해 보자. - 충격적인 로또의 진실 - update 0.3 (0) | 2018.09.03 |
[프로그래밍] 파이썬으로 문제를 내는 '인공지능 수학 선생님'을 만들어 보자. (0) | 2016.10.11 |
[파이썬] 명령행의 필드 열을 인지하여 처리하는 프로그램을 만들어 보자. (0) | 2016.09.14 |