2013-04-02 1 views
4

내 활동에도 MediaController가있는 비디오보기가 있지만 미디어 컨트롤러에서 재생 일시 중지 버튼을 숨기려고합니다.android의 미디어 컨트롤러의 재생 일시 중지 버튼 숨기기

MediaController mediaController = new MediaController(this,false); 
videoHolder.setMediaController(mediaController); 
mediaController.setAnchorView(videoHolder); 

나에게 솔루션을 제안하십시오 :

여기 내 코드입니다.

+0

'visibility' 기능을 사용해 보셨습니까? – Ekonion

+0

어떤 구성 요소를 사용해야합니까? –

+0

레이아웃에 단추가 있습니까? – Ekonion

답변

0

그것은 (확실하지 않은)

사용 OnPreparedListener을 시도하고 콜백처럼, inderectly 당신의 숨기기를 할 onPrepared : 당신이 볼 수

@Override 
public void onPrepared (MediaPlayer mp) 
{ 
    int childs = mediaController.getChildCount(); 
    for (int i = 0; i < childs; i++) 
    { 
     View child = mediaController.getChildAt (i); 
     child.setVisibility (View.GONE); 
    } 
} 
+0

not working :(. –

1

http://www.phonesdevelopers.com/1765331/

MediaController mc = new MediaController(this); 
    mc.setVisibility(View.INVISIBLE); 
    videoView.setMediaController(mc); 

일 것
+0

모든 MediaController 뷰를 숨 깁니다. –

+0

MediaController 뷰의 얇은 검은 색 테두리 선이 표시됩니다. 따라서이 솔루션은 저에게 효과적이지 않습니다. –

3

저는 SAM을 달성 할 수있었습니다. 이자형. 기본적으로 Media Controller는 재생/일시 중지 컨트롤을 숨기는 방법을 노출하지 않습니다. 따라서 Media Controller의 하위보기를 반복하고 원하는보기를 얻은 다음 해당보기로 수행 할 작업을 수행해야합니다. 내 경우 , 난 내 코드를 설명 할 방법

videoPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { LinearLayout viewGroupLevel1 = (LinearLayout) media_Controller.getChildAt(0); LinearLayout viewGroupLevel2 = (LinearLayout) viewGroupLevel1.getChildAt(0); View view = viewGroupLevel2.getChildAt(2); view.setVisibility(View.GONE); videoPlayer.start(); } });

다음에서 한, 기본적으로 미디어 컨트롤러는 FrameLayout이의 서브 클래스이며, 그것은 다시, 위치 0 viewGroupLevel1을 자식 뷰 그룹 (viewGroupLevel1) 하나의 LinearLayout있다 viewGroupLevel1에서 뷰 그룹 (viewGroupLevel2)을 위치 0으로 가져 오는 두 개의 자식 뷰 그룹을 포함합니다. 이제 viewGroupLevel2에서 실제로 이미지 버튼 인 위치 2의 뷰 (재생/일시 중지 버튼)를 가져옵니다. 이제는 쉽게 숨길 수 있습니다. 건배!

관련 문제