음악이 연속 재생되지 않는 문제를 살펴보다
수련원에 나와 다시 크롬 브라우저에서만 음악이 연속 재생되지 않는 문제를 살펴보았다.
문제 : 크롬에서의 html5 timeupdate와 ended 관련
timeupdate 이벤트로 오디오의 남은 시간이 0초가 된 후 ended 이벤트가 발생하지 않고, 반응이 멈춘다. 크롬 개발자 도구를 통하여 에러 메시지를 보여주면 원인 파악이 쉬울텐데 아무 반응이 없다. 크롬에서 ended 이벤트가 발생하지 않는가를 간단한 소스로 테스트해보면, 이벤트가 잘 발생한다.
문제 의심:
timeupdate에서의 시간 계산과 ended 이벤트 시점이 맞지 않거나 어떤 충돌이 발생하지 않을까 하여 timeupdate 이벤트 기능을 빼고 ended 이벤트 기능만 테스트 해보았지만 모르겠다.
편법 문제 해결:
timeupdate 이벤트로 오디오의 남은 시간이 0초가 된 후 문제가 되므로 오디오 파일의 재생 시간이 1초가 남은 상황에서 ended 이벤트 발생시 처리되던 기능을 함수로 만들어 실행하게 하였다. 편법 문제 해결의 단점으로 오디오 파일의 남은 재생시간이 0초가 아닌 1초가 된 후 다음 파일로 넘어가니 조금 마음에 거슬렸으나 시간 계산하는 부분에서 -1초를 해줘서 어쨌든 시각적으로는 0초가 된 후 다음 곡이 재생되게 하였다.
그 외:
재생 반복 모드 소스를 간결히 정리하였고, 쿠키에 모드를 저장하여 기억될 수 있도록 수정하였다.
어제 작성한 글:
아프면 아프다고 말해야 한다.
몇일전 부터, 그리 오래되지않은 것 같은데, 음악감상실 프로그램이 크롬에서만 정상작동하지 않는다.
증상은 한곡이 끝나가면 다음곡으로 자동으로 넘어가야 하는데 한곡이 끝나면 얼어버린 것처럼 멈춰버린다.
다른 브라우저(파이어폭스, 엣지 등)에서는 잘 작동한다.
물론 얼마전 까지만 해도 크롬에서도 잘 작동하였다.
귀찮아서 그냥 냅두다가 어제 밤에 갑자기 고치고 싶어서 검색하고 이런 저런 테스트를 해봤지만 원인을 모르겠다. 덕분에 어제밤에 늦게 잤고, 오늘도 한 2~3시간 고치려 해봤지만 모르겠다.
에러를 보여주면 쉽게 고칠 것 같은데, 아무 반응이 없다.
아프면 아프다고 말해야 한다.
그래야 처방을 해줄 수 있다.
182.226.43.150 / 2018-03-14 16:24:28 작성