오디오 동기화 그룹의 현재 재생 위치 가져오기
이 문서는 audio_sync_group_get_track_pos 함수에 대해 설명합니다. 이 함수는 주어진 오디오 동기화 그룹의 현재 재생 위치를 반환합니다.
함수 설명
- 함수 이름:
audio_sync_group_get_track_pos - 문법:
gml audio_sync_group_get_track_pos(group_index);
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
| group_index | Audio Sync Group ID | 위치를 가져올 그룹의 인덱스 |
반환값
- 타입: 실수 (Real)
- 설명: 트랙이 재생되는 시간 (초 단위)
사용 예제
아래 예제 코드는 주어진 동기화 그룹의 재생 시간을 가져오고, 그 값을 화면에 표시합니다.
var real_secs = audio_sync_group_get_track_pos(sg); // sg라는 변수에 저장된 그룹 인덱스의 재생 시간을 가져옴
var secs = real_secs mod 60; // 초를 계산
var mins = string(real_secs div 60); // 분을 계산
if (secs > 9) {
secs = string(secs); // 초가 10 이상이면 그대로 변환
} else {
secs = "0" + string(secs); // 초가 10 미만이면 앞에 0 추가
}
draw_text(32, 32, "Time = " + mins + ":" + secs); // 계산된 시간을 화면에 그리기
이 코드는 sg라는 변수에 저장된 동기화 그룹의 인덱스를 사용하여 트랙의 재생 시간을 가져와 화면에 "분:초" 형식으로 표시합니다.
활용 및 응용 예제
- 오디오 재생 인터페이스 만들기:
- 사용자가 오디오 트랙을 선택하면, 그 트랙의 현재 재생 시간과 총 재생 시간을 보여주는 인터페이스를 만들 수 있습니다.
- 게임 내 배경 음악 동기화:
- 게임에서 배경 음악이 특정 이벤트와 동기화될 수 있도록, 이 함수를 사용하여 현재 재생 위치를 체크하고 이벤트를 발생시킬 수 있습니다.
- 트랙 반복 및 재생:
- 현재 트랙이 종료되었는지 확인하고, 종료되었다면 트랙을 처음부터 다시 재생합니다. 이때
audio_sync_group_get_track_pos를 사용할 수 있습니다.
if (audio_sync_group_get_track_pos(sg) >= total_duration) {
audio_play_sound(sg, priority, loop); // total_duration은 트랙의 총 길이
}
위 예제들은 audio_sync_group_get_track_pos 함수를 이용해 오디오 경험을 보다 풍성하게 만들어 주는 방법입니다. 적극 활용해 보세요!