Advertisement
Guest User

Untitled

a guest
Apr 15th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. package jaxview.jaxview2;
  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. public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPreparedListener, SurfaceHolder.Callback
  18. {
  19. final static String USERNAME = "admin";
  20. final static String PASSWORD = "password";
  21. final static String RTSP_URL = "rtsp://10.0.1.7:554/play1.spd";
  22.  
  23. private MediaPlayer _mediaPlayer;
  24. private SurfaceHolder _surfaceHolder;
  25.  
  26. @Override
  27. protected void onCreate(Bundle savedInstanceState)
  28. {
  29. //super.onCreate(savedInstanceState);
  30. //setContentView(R.layout.activity_main);
  31.  
  32. //Set up a full-screen black window.
  33. requestWindowFeature(Window.FEATURE_NO_TITLE);
  34. Window window = getWindow();
  35. window.setFlags(
  36. WindowManager.LayoutParams.FLAG_FULLSCREEN,
  37. WindowManager.LayoutParams.FLAG_FULLSCREEN);
  38. window.setBackgroundDrawableResource(android.R.color.black);
  39.  
  40. super.onCreate(savedInstanceState);
  41. setContentView(R.layout.activity_main);
  42.  
  43. //Configure the view that renders live video
  44. SurfaceView surfaceView =
  45. (SurfaceView) findViewById(R.id.surfaceView);
  46. _surfaceHolder = surfaceView.getHolder();
  47. _surfaceHolder.addCallback(this);
  48. _surfaceHolder.setFixedSize(320,240);
  49.  
  50. }
  51.  
  52. //SurfaceHolder.Callback
  53.  
  54. @Override
  55. public void surfaceChanged(SurfaceHolder sh, int f, int w, int h) {}
  56.  
  57.  
  58. @Override
  59. public void surfaceCreated(SurfaceHolder sh) {
  60. _mediaPlayer = new MediaPlayer();
  61. _mediaPlayer.setDisplay(_surfaceHolder);
  62.  
  63. Context context = getApplicationContext();
  64. Map<String, String> headers = getRtspHeaders();
  65. Uri source = Uri.parse(RTSP_URL);
  66.  
  67. try {
  68. // Specify the IP camera's URL and auth headers.
  69. _mediaPlayer.setDataSource(context, source, headers);
  70.  
  71. // Begin the process of setting up a video stream.
  72. _mediaPlayer.setOnPreparedListener(this);
  73. _mediaPlayer.prepareAsync();
  74. }
  75. catch (Exception e) {}
  76. }
  77.  
  78. @Override
  79. public void surfaceDestroyed(SurfaceHolder sh) {
  80. _mediaPlayer.release();
  81. }
  82.  
  83. //Passes username and password for the camera
  84.  
  85. private Map<String, String> getRtspHeaders() {
  86. Map<String, String> headers = new HashMap<String, String>();
  87. String basicAuthValue = getBasicAuthValue(USERNAME, PASSWORD);
  88. headers.put("Authorization", basicAuthValue);
  89. return headers;
  90. }
  91.  
  92. private String getBasicAuthValue(String usr, String pwd) {
  93. String credentials = usr + ":" + pwd;
  94. int flags = Base64.URL_SAFE | Base64.NO_WRAP;
  95. byte[] bytes = credentials.getBytes();
  96. return "Basic " + Base64.encodeToString(bytes, flags);
  97. }
  98.  
  99. //MediaPlayer.OnPreparedListener
  100.  
  101. @Override
  102. public void onPrepared(MediaPlayer mp) {
  103. _mediaPlayer.start();
  104. }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement