Super Kawaii Cute Cat Kaoani [Blender] Python script로 음악 재생 및 현재 재생 시점 알아내기

연구/Blender

[Blender] Python script로 음악 재생 및 현재 재생 시점 알아내기

치킨고양이짱아 2023. 10. 4. 17:34
728x90
728x90

python script로 aud.Sound object를 생성하고 재생시킨 뒤 python script로 현재 재생하고 있는 음악의 시점을 알아내는 방법이다. (매우 간단한데 구글링했을 때 너무 안나와서 고생을 좀 했다..)

1. 오디오 재생

import aud

device = aud.Device()

aud 라이브러리를 Import 해준 뒤 오디오를 재생할 디바이스를 생성해준다.

audio_file_path = "오디오 파일 경로"
sound = aud.Sound(audio_file_path)

오디오 파일 경로를 이용하여 aud.Sound object도 생성해준다.

controller = device.play(sound)

# 음악 재생을 멈추고 싶을 때는
controller.stop()

위와 같이 음악을 재생시킬 수 있다. 음악 재생을 멈추고 싶을 때는 controller.stop() 코드를 실행해주면 된다.

 

2. 오디오 재생 시점 알아내기

if controller.status:
    current_time = controller.position
    print("현재 재생 시점:", current_time)

위와 같이 현재 재생 시점을 알아낼 수 있다.

 controller.status는 현재 음악을 재생하고 있는 경우 true 값을 가지고, 재생하고 있지 않은 경우 false 값을 가진다.

blender의 현재 frame index를 가지고 음악의 재생 시점을 유추하는 경우에는 연산량이 많아지면 밀림 등이 발생하면서 음악의 재생 시점이 정확하지 않은 문제가 있었다. 하지만 위의 방법으로 음악 재생 시점을 계산하게 되면 연산량과 상관없이 정확한 음악 재생 시점을 얻을 수 있다.

728x90
728x90