2017-03-20 9 views
0

내 대상 장치에서 MediaCodecSelector DEFAULT 구현의 getDecoderInfo() 함수를 수정하면 테스트하는 동안 ExoPlayer에서 특정 코덱을 사용하도록 설정해야합니다.사용자 지정 MediaCodecSelector를 사용하는 ExoPlayer

그러나 실제 제품의 경우 ExoPlayer 소스를 수정하지 않는 것이 좋습니다. MediaCodecSelector를 구현할 수 있다고 말하는 게시물을 보았습니다.

SimpleExoPlayer의 하위 클래스 인 경우 MediaCodecSelector.DEFAULT를 SimpleExoPlayer의 buildVideoRenderers()에 하드 코딩 했으므로 private 속성에 액세스 할 수 없지만 buildVideoRenderers()를 재정의하려고합니다. 그리고 내가 가지고 있었다고하더라도 그것은 중복 된 코드로 끝날 것입니다.

ExoPlayer를 구현하려면 개인 전용 클래스가 더 필요합니다.

표준 방법은 위와 같지 않습니다.

+0

exoplayer를 사용하는 표준 방법은 필요하면 포크하는 것입니다. buildVideoRenderers를 오버라이드 (override) 할 때의 문제에 대해 설명해 주시겠습니까? 아마 당신이 해결하려고하는 정확한 이슈에 대해 더 자세히 설명하면 도움이 될 것입니다. – Okas

답변

0

다음 공장 기능 ExoPlayerFactory을 사용하여 종료했습니다 : public static ExoPlayer newInstance(Renderer[] renderers, TrackSelector trackSelector). 내가 MediaCodecSelector과 함께 Renderer을 만드는 곳.

그러면 표면보기를 설정하는 방법 만 다르며 sendMessageMSG_SET_SURFACE 유형입니다.