2016-09-15 8 views
0

내 Android 앱에서 Exoplayer를 사용하여 동영상을 재생하고 있습니다. 동영상 플레이어보기 중간에 재생/일시 중지 버튼을 배치하고 싶습니다 (아래 이미지 에서처럼). 이를 달성하는 방법 enter image description hereAndroid ExoPlayer, VideoPlayer 중간에 재생/일시 중지 버튼

Android 기본 mediaController 대신 새로운 레이아웃을 사용하면됩니다. 궁금 임 Exoplayer 2.1.0의 이미지 레이아웃의 아래 종류

media_controller.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_gravity="center" 
android:background="#CC000000" 
android:orientation="vertical"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingTop="4dip" 
    android:orientation="horizontal"> 


    <ImageButton android:id="@+id/pause" 
     style="@android:style/MediaButton.Play" 
     android:layout_gravity="center_horizontal" 
     android:contentDescription="play/pause" /> 

    <TextView android:id="@+id/time_current" 
     android:textSize="14sp" 
     android:textStyle="bold" 
     android:paddingTop="4dip" 
     android:paddingLeft="4dip" 
     android:layout_gravity="center_horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingRight="4dip" /> 

    <SeekBar 
     android:id="@+id/mediacontroller_progress" 
     style="?android:attr/progressBarStyleHorizontal" 
     android:layout_width="0dip" 
     android:layout_weight="1" 
     android:layout_height="32dip" /> 

    <TextView android:id="@+id/time" 
     android:textSize="14sp" 
     android:textStyle="bold" 
     android:paddingTop="4dip" 
     android:paddingRight="4dip" 
     android:layout_gravity="center_horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="4dip" /> 

</LinearLayout> 

+0

당신이 버튼을 만들고 레이아웃에 추가 시도가? –

+0

나는 그것을 시도했지만 버튼이 바닥에 올 것입니다. –

+0

레이아웃을 게시하고 정확하게 그 버튼을 추가하려고 시도한 곳을 보여줄 수 있습니까? –

답변

2
이 달성 할 수

를 얻을 수있는 올바른 방법이있다. Exoplayer 라이브러리에는 Media Controller 재생을위한 자체 레이아웃을 정의하는 방법이 있습니다. PlayBackControllerView이라고합니다. 레이아웃 파일을 재정 의하여 구현할 수 있습니다. 이러한 레이아웃을 사용자 정의하려면 응용 프로그램이 자신의 res/layout * 디렉토리에 같은 이름의 레이아웃 파일을 정의 할 수 있습니다. 이 레이아웃 파일은 ExoPlayer 라이브러리에서 제공하는 것보다 우선합니다. 응용 프로그램의 res/layout 디렉토리에 exo_playback_control_view.xml 파일을 만들어이 작업을 수행 할 수 있습니다.

exo_playback_control_view.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="bottom" 
    android:layoutDirection="ltr" 
    android:background="#22000000"> 

    <LinearLayout 
     android:id="@+id/play_pause_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingTop="4dp" 
     android:orientation="horizontal" 
     android:gravity="center"> 

     <ImageButton android:id="@id/exo_play" 
      style="@style/ExoMediaButton.Play"/> 

     <ImageButton android:id="@id/exo_pause" 
      style="@style/ExoMediaButton.Pause"/> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="4dp" 
     android:gravity="center_vertical" 
     android:layout_alignParentBottom="true" 
     android:orientation="horizontal"> 

     <TextView android:id="@id/exo_position" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="14sp" 
      android:textStyle="bold" 
      android:paddingLeft="4dp" 
      android:paddingRight="4dp" 
      android:includeFontPadding="false" 
      android:textColor="#FFBEBEBE"/> 

     <SeekBar android:id="@id/exo_progress" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="32dp" 
      android:focusable="false" 
      style="?android:attr/progressBarStyleHorizontal"/> 

     <TextView android:id="@id/exo_duration" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="14sp" 
      android:textStyle="bold" 
      android:paddingLeft="4dp" 
      android:paddingRight="4dp" 
      android:includeFontPadding="false" 
      android:textColor="#FFBEBEBE"/> 

    </LinearLayout> 

</RelativeLayout> 

참조 : Customizing Exoplayer's UI components