본문

Refactor MediaPlayerController

도입

이번 포스팅에서는 현재 MediaPlayerController의 문제점을 확인하고 Refactoring 진행 예정이다.
(초기 개발만큼 운영리소스도 많이 든다..)


문제점

1. 적절하지 않은 Video 비율

현재 플레이어는 안드로이드 플랫폼에서 제공하는 MediaPlayer기반이다. 영상을 플레이하면서 문제점은 영상 비율이 맞지 않는다는 문제점이 있었다. 

이전에 이 문제를 해결하기 위해 직접 계산하는 방법을 생각해봤다. 그 결과, 절반 정도의 영상은 문제를 해결할 수 있었지만 절반 정도의 영상은 여전히 비율이 맞지 않았다. 

 

2. Player의 확정성 X

처음 설계 할 때 단일 Player을 기반으로 생각했고 Player의 확장성은 생각하지 않았다. 그래서 상황에 따라 Player를 변경하며 사용할 수 없는 구조이다.


해결

  1. 적절하지 않은 Video 비율 
    ExoPlayer로 테스트해보니 ExoPlayer가 영상의 비율까지 해결!

  2. Player의 확정성 X
    Refactoring을 통한 구조 개선이 필요하다. 기준에 따라 Player를 선택할 수 있게 변경할 예정이다.
    현재 기준은 ‘영상 포함 여부’이다.

결과 

AS-IS TO-BE

MediaPlayer를 관리하는 MediaPlayerManager에서 기준에 따라 MediaPlayer / ExoPlayer로 플레이한다.


스크린 샷

AS-IS TO-BE

 

 

#앱개발 #모바일앱개발 #어플개발

공유

댓글