Sound 파일을 여러개 출력하는거 질문드립니다

var mp3_array = new Array('music1.mp3', 'music2.mp3', 'music3.mp3', 'music4.mp3', 'music5.mp3');

Titanium.Media.audioSessionMode = Titanium.Media.AUDIO_SESSION_MODE_AMBIENT;
var sound = Titanium.Media.createSound();
var current_index = 0;

function playSound(index) {
    sound.url = mp3_array[index];
    sound.play();
    Ti.API.info(index);
}

btn.addEventListener('click', function(e) {
    sound.addEventListener('complete', function() {

        // increment the array index
        current_index++;

        if (current_index < mp3_array.length) {
            // play the next mp3 in the array
            playSound(current_index);
        } else {
            Ti.API.info('all sounds complete!');
        }
    });
    playSound(current_index);
});

이런식으로 사운드 파일을 여러개 배열에 집어넣고,
재생을 시키는데,
재생을 하면 한개의 파일(music1.mp3)이 여러번 재생이 됩니다.
5개의 파일을 재생을 한거번에 시키고 싶은데
도움 부탁드립니다.
버젼은 3.2버젼 입니다.

안드로이드 환경이신거죠? (ti 버전 뿐만 아니라 어떤 버전의 os에서 이러한 문제가 발생하는지도 알려주세요.)

저도 예전에 이 문제를 안드로이드에서만 겪었던 것 같은데요.
그냥 createSound를 매번하면 해결됩니다. 기존에 만든 sound를 다시 이용하지 마세요.

이건 알려진 사항이고 플랫폼차이에서 오는 문제라고했던것 같습니다.document가 아직 업데이트 안되었군요.
해당 이슈 글을 방금 검색해 보니 나오네요.
https://jira.appcelerator.org/browse/TIMOB-3348

참고하세요.

네 답변 감사드립니다.

이전에 createSound()를 다시 생성해서 해보았는데,
새로 만들어진 createSound()가 끝나면 sound.addEventListener(‘complete’, function());
이 이벤트를 안받더라구요.
새로 만든 createSound()를 어디에서 새로 만들던 마찬가지 입니다.
혹시 이와 같은 이슈를 알고 계신가요?

새로 만들면 만들고 나서 다시 event 를 걸어줘야합니다. 전 예전에 만들었던 음악관련 앱을 그렇게 구현했습니다.

그리고 이전에 쓰지 않을 거는 event를 remove해주는게 좋습니다. (상황에 따라 안해줘도 되기도 하지만 습관적으로 해주는게 실수 방지 차원에서 좋습니다.)

아 넵 감사합니다.

하나의 함수안에 사운드 정의랑 이벤트를 같이 넣어주었더니 되네요.
아직 제가 개념을 잘 몰라서 그런것 같습니다.

도움 감사합니다.