Strict Standards: Non-static method Soojung::addReferer() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/settings.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/lifthrasiir/sites/sapzil.info/soojung/settings.php:79) in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Counter.class.php on line 63

Strict Standards: Non-static method Entry::getEntry() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/entry.php on line 51

Strict Standards: Non-static method Soojung::entryIdToFilename() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 182

Strict Standards: Non-static method Soojung::queryFilenameMatch() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Soojung.class.php on line 55
TokigunStudio3 | 블로그: pygame, 강력하다.

내용으로 바로 넘어 가기


TokigunStudio3

1 / 3283   


더 이상 이 블로그는 운영되지 않습니다. 새 블로그로 가 주세요.

pygame, 강력하다.

2004/10/12 PM 01:46 | 개발/파이썬 | 3 comments | 0 trackbacks | AllBlog: vote, to pocket

bmsplay의 oop 작업은 성공리에 (몇 차례 수정 안 하고 잘 돌아 가더라...) 끝났고, seeking 기능과 일시정지 기능을 추가했다. (인터페이스도 좀 바뀌었다.) 루프 기능도 추가했고... 이대로만 간다면 안 될 건 없으리라. 아 좋아라.

근데 seeking 기능을 추가할 때 문제가 하나 생겼다. seeking을 할 때는 해당 위치에서 나와야 할 BGA를 계산해야 하는데, 이건 그리 큰 문제가 아니다. (복잡하게 생각하기 싫어서 100 sequence마다 key sequence로 묶는 방법을 썼다.) 근데 그렇게 하고 보니까 다른 문제가 도사리고 있었으니, "해당 위치에서" 이미 재생되고 있어야 할 음악을 재생할 방법이 없다는 것이었다.

일단 음악의 일부분을 재생하는 방법을 생각하기 위하여 pygame 레퍼런스를 뒤져 댔다만 pygame.mixer.Sound에는 해당하는 함수가 없다. (무조건 처음부터 재생해야 한다-_-) pygame.mixer.music이 있긴 하지만 한 번에 하나 밖에 재생할 수 있기 때문에 무용지물이다. 상심하면서 "아... 그냥 pygame.mixer.Sound에 file-like object를 넣고 수정된 wav 파일 재생하게 할까..."라고 생각하고 있던 차에... (fmt 포맷에 한 샘플당 바이트 수가 있기 때문에 그걸 가지고 적당한 위치에서 자르면 된다.)

...pygame.sndarray를 발견했다! pygame.surfarray만 알고 있었는데 무려 이런 것도 있었다. 결국 해당 코드는 다음과 같이 마무리되었다.

pygame.sndarray.make_sound(pygame.sndarary.array(sound)[int(pygame.mixer.get_init()[0] * pos):])

아 기분 좋다... :) pygame, 역시...

TrackBack URL: http://sapzil.info/soojung/trackback.php?blogid=100

Comment: 쉼쉼 (2004/10/12 PM 05:58)

그냥..

Comment: 쉼쉼 (2004/10/12 PM 05:58)

구글광고 돈이 되긴되는거야?

Comment: 토끼군 (2004/10/12 PM 08:47)

헛소리 집어 치워라... ;)

Copyright (c) 1995-2005, Kang Seonghoon (Tokigun).