2017-11-20 7 views
0

私は次のことを実装しようとしています:一時停止するとサービスが停止し、音声が再生されます。再生ボタンをクリックすると、サービスが開始され、オーディオが再生されます。しかし、一時停止ボタンは再びクリックすると表示されなくなります。もう一度クリックすると一時停止ボタンが非表示になります

exo_pauseのリスナーでボタンが表示されているかどうかを知るためにログを取得しました。ログには、ボタンが見えないですが、ボタンが実際に表示され、あなたが一時停止をもう一度クリックした場合に限って、それが見えなくなることを示して

リスナーexo_pause.setOnClickListener

コントロール

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom" 
    android:background="@android:color/transparent" 
    android:layoutDirection="ltr" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:orientation="horizontal" 
     android:paddingTop="4dp"> 

     <ImageButton 
      android:id="@id/exo_prev" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:background="@drawable/btn_prev" 
      android:visibility="invisible" /> 

     <ImageButton 
      android:id="@id/exo_rew" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:background="@drawable/btn_rewind" 
      android:visibility="gone" /> 

     <ImageButton 
      android:id="@id/exo_play" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:background="@drawable/btn_play" /> 

     <ImageButton 
      android:id="@id/exo_pause" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:background="@drawable/btn_pause" /> 

     <ImageButton 
      android:id="@id/exo_ffwd" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:background="@drawable/btn_fast_forward" 
      android:visibility="gone" /> 

     <ImageButton 
      android:id="@id/exo_next" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:background="@drawable/btn_next" 
      android:visibility="gone" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="4dp" 
     android:background="@android:color/transparent" 
     android:gravity="center_vertical" 
     android:orientation="horizontal"> 

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

     <com.google.android.exoplayer2.ui.DefaultTimeBar 
      android:id="@id/exo_progress" 
      android:layout_width="0dp" 
      android:layout_height="26dp" 
      android:layout_weight="1" /> 

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

    </LinearLayout> 

</LinearLayout> 

活動XML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="ru.myapps.fairytalesforchildren.activity.PlayerActivity"> 

    <LinearLayout 
     android:id="@+id/radioInfo" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/player_gradient" 
     android:gravity="center" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:gravity="center" 
      android:orientation="vertical" 
      android:padding="@dimen/padding"> 

      <com.makeramen.roundedimageview.RoundedImageView 
       android:id="@+id/imgRadio" 
       android:layout_width="@dimen/radio_icon_size" 
       android:layout_height="@dimen/radio_icon_size" 
       android:scaleType="centerCrop" 
       android:src="@mipmap/ic_launcher" 
       ads:riv_border_color="@android:color/white" 
       ads:riv_border_width="@dimen/border" 
       ads:riv_corner_radius="@dimen/radio_icon_corner" /> 

      <TextView 
       android:id="@+id/txtRadio" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="@dimen/margin_bottom" 
       android:layout_marginTop="@dimen/margin_top" 
       android:gravity="center" 
       android:text="**" 
       android:textAllCaps="true" 
       android:textColor="@android:color/white" 
       android:textSize="@dimen/text_size" 
       android:textStyle="normal|bold" /> 

     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/radioBtns" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:background="#2000" 
      android:gravity="center" 
      android:orientation="vertical" 
      android:paddingBottom="@dimen/padding_top" 
      android:paddingTop="@dimen/padding_bottom"> 

      <ImageButton 
       android:id="@+id/btnPLayPause" 
       android:layout_width="@dimen/play_btn_size" 
       android:layout_height="@dimen/play_btn_size" 
       android:background="@android:color/transparent" 
       android:contentDescription="**" 
       android:onClick="onPlayPause" 
       android:scaleType="centerCrop" 
       app:srcCompat="@drawable/btn_play" /> 

     </LinearLayout> 

     <com.google.android.exoplayer2.ui.SimpleExoPlayerView 
      android:id="@+id/player" 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:layout_marginBottom="10dp" 
      android:layout_marginTop="10dp" 
      android:background="@drawable/player_gradient" 
      ads:show_timeout="0" 
      app:controller_layout_id="@layout/exo_playback_control_view" /> 

    </LinearLayout> 

</RelativeLayout> 
+0

レイアウトXMLを共有できますか? –

+0

質問に追加 – OVERFLOW

答えて

0

これらの行を削除してください:

その後

、あなたの一時停止ボタンonClickListenerにこのラインを使用し、その動画をチェックする方法を使用するには、再生したりされていない:私はそれはあなたを助け

if(video.isPlaying){ 
exo_play.setImageResource(R.drawable.btn_pause); 
stopPlayerService(); 
} 
    else{ 
exo_play.setImageResource(R.drawable.btn_play); 
startPlayerService(); 
} 

と思います。

+0

一時停止ボタンを非表示にする必要があります。再生ボタンのアイコンを変更しないでください – OVERFLOW

関連する問題