0

Я искал много тем с большим количеством одинаковых ответов,Media Controller никогда не показывают на видео Просмотр

, но выглядит, как не работал для меня & со многими людьми также.

Create Custom Media Controller

public class CcMediaController extends MediaController { 

ImageButton mCCBtn; 
Context mContext; 
AlertDialog mLangDialog; 

public CcMediaController(Context context) { 
    super(context); 
    mContext = context; 
} 

@Override 
public void setAnchorView(View view) { 
    super.setAnchorView(view); 

    FrameLayout.LayoutParams frameParams = new FrameLayout.LayoutParams(
      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    frameParams.gravity = Gravity.RIGHT|Gravity.TOP; 

    View v = makeCCView(); 
    addView(v, frameParams); 
} 

private View makeCCView() { 
    mCCBtn = new ImageButton(mContext); 
    mCCBtn.setImageResource(R.drawable.abc_ab_bottom_solid_dark_holo); 

    mCCBtn.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Builder builder = new AlertDialog.Builder(mContext); 
      builder.setSingleChoiceItems(R.array.array, 0, new DialogInterface.OnClickListener() { 

       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        //Save Preference and Dismiss the Dialog here 
        Toast.makeText(mContext, "Which ::: "+which, Toast.LENGTH_LONG).show(); 
       } 

      }); 
      mLangDialog = builder.create(); 
      mLangDialog.show(); 
     } 
    }); 

    return mCCBtn; 
} 
} 

Put Custom Media Controller into Video View by using setAnchorView()

CcMediaController mMc = new CcMediaController(this); 

// FrameLayout.LayoutParams lp = new FameLayout.LayoutParams(
// FrameLayout.LayoutParams.MATCH_PARENT, 
// FrameLayout.LayoutParams.WRAP_CONTENT); 
// lp.gravity = Gravity.BOTTOM; 
// mMc.setLayoutParams(lp); 
// 
// ((ViewGroup) mMc.getParent()).removeView(mMc); 
// 
// (new VideoControllerView(this)).addView(mMc); 

     // set play video view dialog details photo 
     mMc.setAnchorView(mVvPlayVideoInDetail); 
     mMc.setMediaPlayer(mVvPlayVideoInDetail); 

     mVvPlayVideoInDetail.requestFocus(); 
     mVvPlayVideoInDetail.setBackgroundColor(Color.WHITE); 
     mVvPlayVideoInDetail.setMediaController(mMc); 
     mVvPlayVideoInDetail.setZOrderOnTop(true); 

VideoView.xml

<VideoView 
      android:alpha="0.5" 
      android:background="@android:color/transparent" 
      android:id="@+id/vv_play_video_dialog_detail" 
      android:layout_height="250dp" 
      android:layout_width="match_parent" 
      android:layout_weight="1" 
      android:visibility="visible" 
      /> 

я показал видео Просмотр в виде одной части диалога с высоты = 240dp, не в полном объеме.

До сих пор не работал,

Пожалуйста, помогите мне, как show Media Controller on Video View correctly,

Благодаря

ответ

0

попытка вызвать setZOrderMediaOverlay(true); это связано с setzorderontop(true) без вида не может быть показано на просмотр видео поэтому вызов setZOrderMediaOverlay(true); будет override setzorderontop(true)

Смежные вопросы