From daad95eefa884411112b2fe02b9b19acff25d3bf Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 22 三月 2017 14:31:21 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java | 103 ++++++++++++++++++++++----------------------------- 1 files changed, 44 insertions(+), 59 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java index 7f22d73..39714d2 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java @@ -4,6 +4,7 @@ import android.graphics.Rect; import android.graphics.SurfaceTexture; import android.os.Bundle; +import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; @@ -16,12 +17,14 @@ import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; +import android.widget.VideoView; import com.bsk.zhangbo.demoforbsk.R; import com.bsk.zhangbo.demoforbsk.adapter.MyFragmentPagerAdapter; import com.bsk.zhangbo.demoforbsk.adapter.OneBottomRecylerViewAdapter; import com.bsk.zhangbo.demoforbsk.base.BaseFragment; import com.bsk.zhangbo.demoforbsk.ui.activity.TestARGB8888Activity; +import com.bsk.zhangbo.demoforbsk.util.RtspFaceNative; import com.bsk.zhangbo.demoforbsk.util.WindowsUtil; import com.bsk.zhangbo.demoforbsk.widget.MyGLSurfaceView; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; @@ -31,6 +34,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; + /** @@ -46,7 +50,6 @@ private List mList; private EasyRecyclerView mRecyclerViewRegister, mRecyclerViewUser; - //鎾斁 String mSourceString = "clips/testfile.mp4"; @@ -56,41 +59,18 @@ SurfaceHolder mSurfaceHolder1; VideoSink mSelectedVideoSink; - VideoSink mNativeCodecPlayerVideoSink; + SurfaceHolderVideoSink mSurfaceHolder1VideoSink; + VideoSink mNativeCodecPlayerVideoSink; GLViewVideoSink mGLView1VideoSink; boolean mCreated = false; boolean mIsPlaying = false; -// SurfaceHolderVideoSink mSurfaceHolder1VideoSink; -// VideoSink mSelectedVideoSink; -// VideoSink mNativeCodecPlayerVideoSink; -// SurfaceView mSurfaceView1; -// SurfaceHolder mSurfaceHolder1; -// boolean mCreated = false; -// boolean mIsPlaying = false; -// String mSourceString = "clips/testfile.mp4"; - - /** - * Native methods, implemented in jni folder - */ -// public static native void createEngine(); -// -// public static native boolean createStreamingMediaPlayer(AssetManager assetMgr, String filename); -// -// public static native void setPlayingStreamingMediaPlayer(boolean isPlaying); -// -// public static native void shutdown(); -// -// public static native void setSurface(Surface surface); -// -// public static native void rewindStreamingMediaPlayer(); - /** Load jni .so on initialization */ static { - //System.loadLibrary("native-codec-jni");//xiuxi + System.loadLibrary("rtspface");//xiuxi } @@ -122,6 +102,15 @@ mGLView1 = (MyGLSurfaceView) view.findViewById(R.id.surfaceview2); mSurfaceView1 = (SurfaceView) view.findViewById(R.id.surfaceview1); + RtspFaceNative.init(); + try { + Thread.sleep(3000); + }catch (Exception e) { + e.printStackTrace(); + } + RtspFaceNative.setSurface(1, mSurfaceView1.getHolder().getSurface()); + RtspFaceNative.setSurface(2, mGLView1.getHolder().getSurface()); + mSurfaceHolder1 = mSurfaceView1.getHolder(); mSurfaceHolder1.addCallback(new SurfaceHolder.Callback() { @@ -144,10 +133,10 @@ }); //surfaceview -// if (mSurfaceHolder1VideoSink == null) { -// mSurfaceHolder1VideoSink = new SurfaceHolderVideoSink(mSurfaceHolder1); -// } -// mSelectedVideoSink = mSurfaceHolder1VideoSink; + if (mSurfaceHolder1VideoSink == null) { + mSurfaceHolder1VideoSink = new SurfaceHolderVideoSink(mSurfaceHolder1); + } + mSelectedVideoSink = mSurfaceHolder1VideoSink; //openGL @@ -170,16 +159,22 @@ return; } mSelectedVideoSink.useAsSinkForNative(); + mSurfaceHolder1VideoSink.useAsSinkForNative(); + //mSelectedVideoSink.useAsSinkForNative(); + //mSurfaceHolder1VideoSink.useAsSinkForNative(); mNativeCodecPlayerVideoSink = mSelectedVideoSink; } if (mSourceString != null) { - mCreated = createStreamingMediaPlayer(getResources().getAssets(), - mSourceString); + //mCreated = createStreamingMediaPlayer(getResources().getAssets(), + // mSourceString); + mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); + mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); + ////mCreated = createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); } } if (mCreated) { mIsPlaying = !mIsPlaying; - setPlayingStreamingMediaPlayer(mIsPlaying); + //setPlayingStreamingMediaPlayer(mIsPlaying); } @@ -188,7 +183,7 @@ } } }); - //thread.start();//xiuxi + thread.start();//xiuxi } @Override @@ -253,14 +248,17 @@ if (mCreated && mNativeCodecPlayerVideoSink != mSelectedVideoSink) { // shutdown and recreate on other surface Log.i("@@@", "shutting down player"); - shutdown(); + RtspFaceNative.shutdown(1); mCreated = false; mSelectedVideoSink.useAsSinkForNative(); mNativeCodecPlayerVideoSink = mSelectedVideoSink; if (mSourceString != null) { Log.i("@@@", "recreating player"); - mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString); + //mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString); mIsPlaying = false; + mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); + mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); + ////mCreated = createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); } } } @@ -287,30 +285,11 @@ */ @Override public void onDestroy() { - shutdown(); + RtspFaceNative.shutdown(1); mCreated = false; super.onDestroy(); } - /** - * Native methods, implemented in jni folder - */ -// public static native void createEngine(); - - public static native boolean createStreamingMediaPlayer(AssetManager assetMgr, String filename); - - public static native void setPlayingStreamingMediaPlayer(boolean isPlaying); - - public static native void shutdown(); - - public static native void setSurface(Surface surface); - - public static native void rewindStreamingMediaPlayer(); - - /** Load jni .so on initialization */ - static { - //System.loadLibrary("native-codec-jni");//xiuxi - } // VideoSink abstracts out the difference between Surface and SurfaceTexture // aka SurfaceHolder and GLSurfaceView @@ -339,7 +318,13 @@ void useAsSinkForNative() { Surface s = mSurfaceHolder.getSurface(); Log.i("@@@", "setting surface " + s); - setSurface(s); + RtspFaceNative.setSurface(1, s); + + + /*SurfaceTexture st = mSurfaceHolder.getSurfaceTexture(); + Surface s = new Surface(st); + RtspFaceNative.setSurface(2, s); + s.release();*/ } } @@ -361,7 +346,7 @@ void useAsSinkForNative() { SurfaceTexture st = mMyGLSurfaceView.getSurfaceTexture(); Surface s = new Surface(st); - setSurface(s); + RtspFaceNative.setSurface(2, s); s.release(); } -- Gitblit v1.8.0