Advertisement
Guest User

Untitled

a guest
Apr 11th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. package pl.tirt;
  2.  
  3. import android.content.Context;
  4. import android.media.MediaPlayer;
  5. import android.net.Uri;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.util.Base64;
  9. import android.view.SurfaceHolder;
  10. import android.view.SurfaceView;
  11. import android.view.Window;
  12. import android.view.WindowManager;
  13.  
  14. import java.util.HashMap;
  15. import java.util.Map;
  16.  
  17.  
  18. public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPreparedListener,SurfaceHolder.Callback {
  19.  
  20.  
  21. //8554
  22. //stream
  23. final static String USERNAME = "admin";
  24. final static String PASSWORD = "camera";
  25. final static String RTSP_URL = "rtsp://192.168.0.101:8554/stream";
  26.  
  27. private MediaPlayer mMediaPlayer;
  28. private SurfaceHolder holder;
  29. SurfaceView mSurfaceView;
  30.  
  31. @Override
  32. protected void onCreate(Bundle savedInstanceState) {
  33. super.onCreate(savedInstanceState);
  34. Window window = getWindow();
  35. window.setFlags(
  36. WindowManager.LayoutParams.FLAG_FULLSCREEN,
  37. WindowManager.LayoutParams.FLAG_FULLSCREEN
  38. );
  39. window.setBackgroundDrawableResource(android.R.color.darker_gray);
  40.  
  41. setContentView(R.layout.activity_main);
  42.  
  43. SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
  44. holder = surfaceView.getHolder();
  45. holder.addCallback(this);
  46. holder.setFixedSize(320,240);
  47.  
  48. }
  49.  
  50. @Override
  51. public void surfaceChanged(
  52. SurfaceHolder sh, int f, int w, int h) {}
  53.  
  54. @Override
  55. public void surfaceCreated(SurfaceHolder sh) {
  56. mMediaPlayer = new MediaPlayer();
  57. mMediaPlayer.setDisplay(holder);
  58.  
  59. Context context = getApplicationContext();
  60. Map<String, String> headers = getRtspHeaders();
  61. Uri source = Uri.parse(RTSP_URL);
  62.  
  63. try {
  64. // Specify the IP camera's URL and auth headers.
  65. mMediaPlayer.setDataSource(context, source, headers);
  66.  
  67. // Begin the process of setting up a video stream.
  68. mMediaPlayer.setOnPreparedListener(this);
  69. mMediaPlayer.prepareAsync();
  70. }
  71. catch (Exception e) {}
  72. }
  73.  
  74. @Override
  75. public void surfaceDestroyed(SurfaceHolder sh) {
  76. mMediaPlayer.release();
  77. }
  78.  
  79. private Map<String, String> getRtspHeaders() {
  80. Map<String, String> headers = new HashMap<String, String>();
  81. String basicAuthValue = getBasicAuthValue(USERNAME, PASSWORD);
  82. headers.put("Authorization", basicAuthValue);
  83. return headers;
  84. }
  85.  
  86. private String getBasicAuthValue(String usr, String pwd) {
  87. String credentials = usr + ":" + pwd;
  88. int flags = Base64.URL_SAFE | Base64.NO_WRAP;
  89. byte[] bytes = credentials.getBytes();
  90. return "Basic " + Base64.encodeToString(bytes, flags);
  91. }
  92.  
  93.  
  94. @Override
  95. public void onPrepared(MediaPlayer mp) {
  96. mMediaPlayer.start();
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement