Search in sources :

Example 1 with AngleView

use of org.easydarwin.easyplayer.views.AngleView in project EasyPlayer-RTMP-Android by EasyDSS.

the class PlayFragment method onViewCreated.

@Override
public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mSurfaceView = (TextureView) view.findViewById(R.id.surface_view);
    mSurfaceView.setOpaque(false);
    mSurfaceView.setSurfaceTextureListener(this);
    mAngleView = (AngleView) getView().findViewById(R.id.render_angle_view);
    mRenderCover = (ImageView) getView().findViewById(R.id.surface_cover);
    mTakePictureThumb = (ImageView) getView().findViewById(R.id.live_video_snap_thumb);
    mResultReceiver = new ResultReceiver(new Handler()) {

        @Override
        protected void onReceiveResult(int resultCode, Bundle resultData) {
            super.onReceiveResult(resultCode, resultData);
            Activity activity = getActivity();
            if (activity == null)
                return;
            if (resultCode == EasyPlayerClient.RESULT_VIDEO_DISPLAYED) {
                onVideoDisplayed();
            } else if (resultCode == EasyPlayerClient.RESULT_VIDEO_SIZE) {
                mWidth = resultData.getInt(EasyPlayerClient.EXTRA_VIDEO_WIDTH);
                mHeight = resultData.getInt(EasyPlayerClient.EXTRA_VIDEO_HEIGHT);
                onVideoSizeChange();
            } else if (resultCode == EasyPlayerClient.RESULT_TIMEOUT) {
                new AlertDialog.Builder(getActivity()).setMessage("试播时间到").setTitle("SORRY").setPositiveButton(android.R.string.ok, null).show();
            } else if (resultCode == EasyPlayerClient.RESULT_UNSUPPORTED_AUDIO) {
                new AlertDialog.Builder(getActivity()).setMessage("音频格式不支持").setTitle("SORRY").setPositiveButton(android.R.string.ok, null).show();
            } else if (resultCode == EasyPlayerClient.RESULT_UNSUPPORTED_VIDEO) {
                new AlertDialog.Builder(getActivity()).setMessage("视频格式不支持").setTitle("SORRY").setPositiveButton(android.R.string.ok, null).show();
            } else if (resultCode == EasyPlayerClient.RESULT_EVENT) {
                int errorcode = resultData.getInt("errorcode");
                // }
                if (activity instanceof PlayActivity) {
                    ((PlayActivity) activity).onEvent(PlayFragment.this, errorcode, resultData.getString("event-msg"));
                }
            } else if (resultCode == EasyPlayerClient.RESULT_RECORD_BEGIN) {
                if (activity instanceof PlayActivity)
                    ((PlayActivity) activity).onRecordState(1);
            } else if (resultCode == EasyPlayerClient.RESULT_RECORD_END) {
                if (activity instanceof PlayActivity)
                    ((PlayActivity) activity).onRecordState(-1);
            }
        }
    };
    listener = new View.OnLayoutChangeListener() {

        @Override
        public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
            Log.d(TAG, String.format("onLayoutChange left:%d,top:%d,right:%d,bottom:%d->oldLeft:%d,oldTop:%d,oldRight:%d,oldBottom:%d", left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom));
            if (right - left != oldRight - oldLeft || bottom - top != oldBottom - oldTop) {
                if (!isLandscape()) {
                    fixPlayerRatio(view, right - left, bottom - top);
                } else {
                    PlayActivity activity = (PlayActivity) getActivity();
                    if (!activity.multiWindows()) {
                        view.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
                        view.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT;
                        view.requestLayout();
                    } else {
                        fixPlayerRatio(view, right - left, bottom - top);
                    }
                }
            }
        }
    };
    ViewGroup parent = (ViewGroup) view.getParent();
    parent.addOnLayoutChangeListener(listener);
    if (mFullscreenMode)
        enterFullscreen();
    else
        quiteFullscreen();
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) Bundle(android.os.Bundle) ViewGroup(android.view.ViewGroup) Handler(android.os.Handler) PlayActivity(org.easydarwin.easyplayer.PlayActivity) PlaylistActivity(org.easydarwin.easyplayer.PlaylistActivity) Activity(android.app.Activity) ImageView(android.widget.ImageView) AngleView(org.easydarwin.easyplayer.views.AngleView) View(android.view.View) TextureView(android.view.TextureView) PlayActivity(org.easydarwin.easyplayer.PlayActivity) ResultReceiver(android.os.ResultReceiver)

Aggregations

Activity (android.app.Activity)1 Bundle (android.os.Bundle)1 Handler (android.os.Handler)1 ResultReceiver (android.os.ResultReceiver)1 AlertDialog (android.support.v7.app.AlertDialog)1 TextureView (android.view.TextureView)1 View (android.view.View)1 ViewGroup (android.view.ViewGroup)1 ImageView (android.widget.ImageView)1 PlayActivity (org.easydarwin.easyplayer.PlayActivity)1 PlaylistActivity (org.easydarwin.easyplayer.PlaylistActivity)1 AngleView (org.easydarwin.easyplayer.views.AngleView)1