Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainActivity extends Activity implements MediaPlayer.OnPreparedListener, SurfaceHolder.Callback {
- final static String USERNAME = "xxxxx";
- final static String PASSWORD = "xxxxx";
- final static String RTSP_URL = "rtsp://xxxxx:xxxxx@192.168.1.102/cam/realmonitor?channel=1&subtype=0";
- private MediaPlayer _mediaPlayer;
- private SurfaceHolder _surfaceHolder;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // Set up a full-screen black window.
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- Window window = getWindow();
- window.setFlags(
- WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- window.setBackgroundDrawableResource(android.R.color.black);
- setContentView(R.layout.activity_main);
- // Configure the view that renders live video.
- SurfaceView surfaceView =
- (SurfaceView) findViewById(R.id.surfaceView);
- _surfaceHolder = surfaceView.getHolder();
- _surfaceHolder.addCallback(this);
- _surfaceHolder.setFixedSize(320, 240);
- }
- /*
- SurfaceHolder.Callback
- */
- @Override
- public void surfaceChanged(
- SurfaceHolder sh, int f, int w, int h) {}
- @Override
- public void surfaceCreated(SurfaceHolder sh) {
- _mediaPlayer = new MediaPlayer();
- _mediaPlayer.setDisplay(_surfaceHolder);
- Context context = getApplicationContext();
- Map<String, String> headers = getRtspHeaders();
- Uri source = Uri.parse(RTSP_URL);
- try {
- // Specify the IP camera's URL and auth headers.
- _mediaPlayer.setDataSource(context, source, headers);
- // Begin the process of setting up a video stream.
- _mediaPlayer.setOnPreparedListener(this);
- _mediaPlayer.prepareAsync();
- }
- catch (Exception e) {}
- }
- @Override
- public void surfaceDestroyed(SurfaceHolder sh) {
- _mediaPlayer.release();
- }
- private Map<String, String> getRtspHeaders() {
- Map<String, String> headers = new HashMap<String, String>();
- String basicAuthValue = getBasicAuthValue(USERNAME, PASSWORD);
- headers.put("Authorization", basicAuthValue);
- return headers;
- }
- private String getBasicAuthValue(String usr, String pwd) {
- String credentials = usr + ":" + pwd;
- int flags = Base64.URL_SAFE | Base64.NO_WRAP;
- byte[] bytes = credentials.getBytes();
- return "Basic " + Base64.encodeToString(bytes, flags);
- }
- /*
- MediaPlayer.OnPreparedListener
- */
- @Override
- public void onPrepared(MediaPlayer mp) {
- _mediaPlayer.start();
- }
- }
Add Comment
Please, Sign In to add comment