Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.tirt;
- import android.content.Context;
- import android.media.MediaPlayer;
- import android.net.Uri;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Base64;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- import android.view.Window;
- import android.view.WindowManager;
- import java.util.HashMap;
- import java.util.Map;
- public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPreparedListener,SurfaceHolder.Callback {
- //8554
- //stream
- final static String USERNAME = "admin";
- final static String PASSWORD = "camera";
- final static String RTSP_URL = "rtsp://192.168.0.101:8554/stream";
- private MediaPlayer mMediaPlayer;
- private SurfaceHolder holder;
- SurfaceView mSurfaceView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- Window window = getWindow();
- window.setFlags(
- WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN
- );
- window.setBackgroundDrawableResource(android.R.color.darker_gray);
- setContentView(R.layout.activity_main);
- SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
- holder = surfaceView.getHolder();
- holder.addCallback(this);
- holder.setFixedSize(320,240);
- }
- @Override
- public void surfaceChanged(
- SurfaceHolder sh, int f, int w, int h) {}
- @Override
- public void surfaceCreated(SurfaceHolder sh) {
- mMediaPlayer = new MediaPlayer();
- mMediaPlayer.setDisplay(holder);
- Context context = getApplicationContext();
- Map<String, String> headers = getRtspHeaders();
- Uri source = Uri.parse(RTSP_URL);
- try {
- // Specify the IP camera's URL and auth headers.
- mMediaPlayer.setDataSource(context, source, headers);
- // Begin the process of setting up a video stream.
- mMediaPlayer.setOnPreparedListener(this);
- mMediaPlayer.prepareAsync();
- }
- catch (Exception e) {}
- }
- @Override
- public void surfaceDestroyed(SurfaceHolder sh) {
- mMediaPlayer.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);
- }
- @Override
- public void onPrepared(MediaPlayer mp) {
- mMediaPlayer.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement