본문 바로가기
Android/오디오 및 비디오

MedioPlayer에서 ExoPlayer로 전환하는 이유(1)

by 안스 인민군 2023. 8. 11.

나는 오늘 한통의 CS를 받았다.

우리가 제공하는 서비스 중 문장을 따라 말하고 녹음하여 분석하고 자신이 녹음한 내용을 들려주는 기능이 존재한다.

그런데 그간 녹음 했던 파일들이 들리지 않는다는 것 이였다.

나는 당연히 고객이 실수 했거나 기기의 문제일 것이라고 생각했지만 고객은 자신의 기기는 이상이 없으니 알아서 고치라고 으름장을 놓았다.

나는 급하게 서버측에 저장된 녹음파일을 확인했더니 왠걸 잘 저장되었고 해당파일은 IOS나 웹에서는 잘 들이는 것이였다......!

하......진짜 뭐가 문제야......

나는 모든 케이스의 시도를 해보았고 다른 기기에서 녹음했을때는 이상없이 잘 작동하기에 기기의 문제가 확실한데

IOS와 웹은 해당 파일의 녹음본이 잘 들린다하니.....진짜.........

고객의 불타는 요구에 겨우 겨우 CX팀에게 부탁하여 기기정보를 받아와 정상작동하는 파일과 비교해 본 결과 안되는 녹음본은 S2로 녹음이 된 것으로 판명났다.

이유는 아래와 같이 제조사나 혹은 아주 옛날의 기기에서는 녹음본을 저장 중 실행 시간, 오디오 채널, 샘플률 등의 정보들을 유실 된다는 차이점을 알 수 있었다.

왼쪽 : 안되는 녹음본/ 오른쪽 : 정상작동 녹음본

그런데 또 의문점은

정보가 유실되었다고 왜 웹과 IOS는 다 정상작동하는거지??

이유는 MedioPlayer라는 라이브러리에 있었다.

MedioPlayer는 이전 안드로이드에서 오디오/비디오를 재생시키는 라이브러리인데 해당 라이브러리는 추가정보가 없다면 오디오를 지원하지 않는다.

대신 구글에서 다음으로 제공하고 추천하는 방식인 ExoPlayer라는 라이브러리를 사용하면 유실된 정보가 있더라도 정상작동이 가능하게 하다...(어떻게 하는거지....구글 개발자들 천재인가....)

나는 이렇게 해서 ExoPlayer를 도입하게 되었고 ExoPlayer 라이브러리를 잘 다루기 위해서 깊게 학습할 것을 다짐했다...!!

(다음편에 계속)