오디오 사운드 길이 함수 설명
audio_sound_length 함수는 주어진 사운드의 길이를 초 단위로 반환합니다. 이 함수는 개별 사운드 인스턴스를 재생할 때 사용했던 인덱스나, 자산 브라우저에서 가져온 실제 사운드 자산을 참조할 수 있습니다. HTML5 및 GX.games에서 런타임 중 생성된 오디오 스트림의 경우, 이 함수는 런타임이 오디오 스트림의 길이를 가져올 수 없을 때 -1을 반환할 수 있습니다.
함수 문법
audio_sound_length(index);
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| index | Sound Asset 또는 Sound Instance ID | 확인할 사운드의 인덱스 |
반환값
- 실수값 (Real)
예제 코드
다음은 사운드의 길이를 가져오고, 사운드를 재생하며, 사운드가 끝날 때 알람을 설정하는 예제입니다.
var _len = audio_sound_length(snd_Beam);
audio_play_sound(snd_Beam, 1, false);
alarm[0] = game_get_speed(gamespeed_fps) * _len;
위 코드는 snd_Beam 변수에 인덱스된 사운드의 길이를 가져온 후, 사운드를 재생하고, 사운드가 종료될 때까지의 시간을 계산하여 알람을 설정합니다. 알람은 사운드가 재생이 종료될 때쯤 트리거됩니다. 사운드 재생이 정확히 끝날 때 코드를 실행해야 하는 경우 Audio Playback Ended 이벤트를 사용할 수 있습니다.
활용 및 응용 예제
1. 게임 오디오 관리
게임 내에서 다양한 사운드를 관리할 때 이 함수를 사용하여 각 사운드의 재생 시간에 따라 적절한 타이밍에 이벤트를 설정할 수 있습니다. 예를 들어, 배경 음악이나 효과음이 재생되는 동안 특정 동작을 실행할 수 있습니다.
2. 사용자 인터페이스 피드백
사용자가 버튼을 클릭했을 때, 클릭 효과음을 재생하고, 음소거 버튼을 클릭하면 해당 음소거 후 타이밍에 이벤트를 발생시킬 수 있습니다.
if (button_clicked) {
audio_play_sound(snd_Click, 1, false);
alarm[1] = game_get_speed(gamespeed_fps) * audio_sound_length(snd_Click);
}
3. 커스터마이즈된 사운드 효과
각각의 사운드가 종료된 후 추가적인 효과나 메시지를 표시하기 위해 Audio Playback Ended 이벤트를 사용하여 사운드의 종료를 감지하고 특정 작업을 실행합니다.
// Audio Playback Ended 이벤트 내
show_message("사운드가 재생이 완료되었습니다!");
결론
audio_sound_length 함수는 오디오 관리에 있어 중요한 도구이며, 게임 개발 중 다양한 방법으로 활용될 수 있습니다. 이 함수를 적절히 사용하여 보다 매끄러운 사용자 경험을 제공할 수 있습니다.