pyxen.Music

Entity에 컴포넌트로 첨부되는 스트리밍 오디오 트랙입니다.

Music은 주문형으로 디코딩됩니다 (OGG Vorbis). 배경 음악과 앰비언스 같은 긴 트랙에 적합합니다.

오디오 개념은 오디오를 참조하세요.


생성자

Music(filename)

필수 위치 인수 하나: 프로젝트 내 OGG Vorbis 오디오 에셋의 이름.


매개변수

매개변수타입설명
filenamestrOGG 에셋 이름

예시

theme = Music("theme")

Music 첨부

생성 시:

bgm = world.spawn(music=Music("theme"))

또는 나중에:

entity.music = Music("theme")

음악을 할당하면 즉시 재생이 시작됩니다.


컴포넌트 속성

entity.music을 통해 접근:

속성타입R/W설명
loopboolR/W반복 활성화
volumefloatR/W게인 (>= 0.0으로 클램프)
panfloatR/W스테레오 패닝 (-1.0에서 1.0)
timefloatR현재 재생 위치 (초)
durationfloatR전체 길이 (초)
finishedboolR재생이 완료되면 True

loop

entity.music.loop = True

활성화되면 트랙이 끝난 후 자동으로 다시 시작됩니다. 배경 음악에 일반적입니다.


volume

entity.music.volume = 0.5

0.0 미만의 값은 0.0으로 클램프됩니다.


pan

entity.music.pan = -1.0  # 완전히 왼쪽
entity.music.pan =  1.0  # 완전히 오른쪽
entity.music.pan =  0.0  # 가운데

-1.0에서 1.0 범위로 클램프됩니다.


time

t = entity.music.time

읽기 전용. 현재 재생 위치 (초).


duration

d = entity.music.duration

읽기 전용. 트랙의 전체 길이 (초).


finished

if entity.music.finished:
    world.destroy(entity)

읽기 전용. 트랙 재생이 완료되면 (loopFalse일 때) True.


형식

Music 에셋은 OGG Vorbis 파일이어야 합니다.

Sound (WAV, 메모리에 전체 로드)와 달리, Music은 스트리밍되어 주문형으로 디코딩됩니다 — 긴 오디오에 더 적합합니다.


일반적인 에러

파일 이름 누락

Music()
ValueError: Music must have a file

잘못된 에셋

Music("nonexistent")

Music 객체는 생성되지만 재생이 경고 로그와 함께 조용히 실패합니다.