Advertisement
Guest User

VLC project

a guest
Jun 15th, 2016
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.39 KB | None | 0 0
  1. package bguproject.vlc;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.content.pm.PackageManager;
  6. import android.hardware.Camera;
  7. import android.net.Uri;
  8. import android.os.Bundle;
  9. import android.os.SystemClock;
  10. import android.view.View;
  11. import android.widget.FrameLayout;
  12. import android.widget.ScrollView;
  13.  
  14.  
  15. public class MainActivity extends Activity implements View.OnClickListener{
  16.     private Camera mCamera = null;
  17.     private CameraView mCameraView = null;
  18.     private int fpsRate[] = new int[2];
  19.     private  boolean work = true,receiving = false;
  20.     private boolean send = false;
  21.  
  22.  
  23.     @Override
  24.     protected void onCreate(Bundle savedInstanceState) {
  25.         super.onCreate(savedInstanceState);
  26.         setContentView(R.layout.activity_main);
  27.  
  28.         Logger l = Logger.getInstance(this); //create the logger instance
  29.  
  30.         Logger.Log("Starting VLC app...");
  31.  
  32.         try{
  33.             bguproject.vlc.Logger.Log("\tAccessing camera...");
  34.             mCamera = Camera.open();//you can use open(int) to use different cameras
  35.         } catch (Exception e){
  36.             bguproject.vlc.Logger.LogError("\tFailed to get camera: " + e.getMessage());
  37.         }
  38.  
  39.         bguproject.vlc.Logger.Log("\tDone!\n\tCreating camera preview...");
  40.         if(mCamera != null) {
  41.             mCameraView = new CameraView(this, mCamera);//create a SurfaceView to show camera data
  42.             FrameLayout camera_view = (FrameLayout)findViewById(R.id.camera_view);
  43.             camera_view.addView(mCameraView);//add the SurfaceView to the layout
  44.         }
  45.         bguproject.vlc.Logger.Log("\tDone!");
  46.  
  47.         bguproject.vlc.Logger.Log("Accessing flashlight...");
  48.         if(this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
  49.             bguproject.vlc.Logger.Log("\tDone!");
  50.         }else Logger.Log("No flashlight access!");
  51.  
  52.  
  53.  
  54.         android.hardware.Camera.Parameters p = mCamera.getParameters();
  55.         Camera.Size previewSize = p.getPreviewSize();
  56.         p.setPreviewFpsRange(14000, 14000);           // Camera frame rate (in thousands)
  57.         mCamera.setParameters(p);
  58.  
  59.         p.getPreviewFpsRange(fpsRate);
  60.  
  61.  
  62.  
  63.  
  64.         // Disable camera auto adjustments
  65.         if(p.isAutoWhiteBalanceLockSupported()) {
  66.             p.setAutoWhiteBalanceLock(true);
  67.             bguproject.vlc.Logger.Log("Auto white balance is set to: off");
  68.         }
  69.  
  70.         if(p.isAutoExposureLockSupported()) {
  71.             p.setAutoExposureLock(true);
  72.             bguproject.vlc.Logger.Log("Auto exposure is set to: off");
  73.         }
  74.  
  75.  
  76.  
  77.         bguproject.vlc.Logger.Log("VLC app has started successfully!");
  78.         bguproject.vlc.Logger.Log("Fps range: " + fpsRate[0] / 1000 + " to " + fpsRate[1] / 1000);
  79.         bguproject.vlc.Logger.Log("Frame size: " + previewSize.width + " x " + previewSize.height);
  80.  
  81.         findViewById(R.id.btnCalibrate).setOnClickListener(this);
  82.         findViewById(R.id.btnLog).setOnClickListener(this);
  83.         findViewById(R.id.btnStop).setOnClickListener(this);
  84.         findViewById(R.id.btnSend).setOnClickListener(this);
  85.  
  86.  
  87.  
  88.  
  89.         Runnable r = new Runnable() {
  90.             @Override
  91.             public void run() {
  92.                 while (work) {                                                      // Thread running constantly waiting for received frames
  93.  
  94.  
  95.  
  96.                     receiving = mCameraView.list.finishedFrame;
  97.                     if (receiving) {
  98.                         //mCameraView.firstLightSearch=true;
  99.                         receiving=false;
  100.                         openWeb(mCameraView.list.url);
  101.                         //View.OnFocusChangeListener(); mCameraView.firstLightSearch=true;
  102.  
  103.  
  104.                     }
  105.                 }
  106.             }
  107.         };
  108.  
  109.         Thread runThread = new Thread(r);
  110.         runThread.start();
  111.  
  112.     }
  113.  
  114.     @Override
  115.     public void onClick(View view) {
  116.         switch (view.getId()){
  117.             case R.id.btnCalibrate:
  118.                 mCameraView.Calibrate();
  119.                 break;
  120.  
  121.             case R.id.btnLog:
  122.                 View scr = findViewById(R.id.scrLogger);
  123.                 View btn = findViewById(R.id.btnSend);
  124.                 ScrollView scroll = (ScrollView) findViewById(R.id.scrLogger);
  125.                 if(scr.getVisibility()==view.VISIBLE) {
  126.                     btn.setVisibility(view.GONE);
  127.                     scr.setVisibility(view.GONE);
  128.                 }
  129.                 else {
  130.                     btn.setVisibility(view.VISIBLE);
  131.                     scroll.fullScroll(View.FOCUS_DOWN);
  132.                     scr.setVisibility(view.VISIBLE);
  133.                 }
  134.                 break;
  135.  
  136.             case R.id.btnStop:
  137.                 android.os.Process.killProcess(android.os.Process.myPid());
  138.                 //this.finishAffinity();
  139.                 //System.exit(0);
  140.                 break;
  141.  
  142.             case R.id.btnSend:
  143.                 Camera.Parameters p =mCamera.getParameters();
  144.                 if(this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)){
  145.                     light(p);
  146.                     /*if (send == true) {
  147.                         //work=true;
  148.                         light(p,send);
  149.                         send = false;
  150.                     }
  151.                     else {
  152.                         //work = false;
  153.                         light(p,send);
  154.                         send = true;
  155.                     }*/
  156.                 } else Logger.Log("Access to LED is not available");
  157.             break;
  158.         }
  159.     }
  160.  
  161.     public void openWeb(String url) {
  162.         String fullUrl = "http://bit.do/"+url;
  163.         Uri webpage = Uri.parse(fullUrl);
  164.         Intent intent = new Intent(Intent.ACTION_VIEW, webpage);
  165.         if (intent.resolveActivity(getPackageManager()) != null)
  166.             startActivity(intent);
  167.  
  168.  
  169.     }
  170.  
  171.     public void light(final Camera.Parameters p){
  172.  
  173.              Runnable r = new Runnable() {
  174.                     @Override
  175.                     public void run() {
  176.                                                                           // Thread running constantly waiting for received frames
  177.                            for(int i=0;i<500;i++) {
  178.  
  179.                                p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
  180.                                mCamera.setParameters(p);                                    //0
  181.                                SystemClock.sleep(143);
  182.  
  183.                                p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
  184.                                mCamera.setParameters(p);                                    //1
  185.                                SystemClock.sleep(143);
  186.  
  187.                                p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
  188.                                mCamera.setParameters(p);                                    //0
  189.                                SystemClock.sleep(143);
  190.  
  191.                                p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
  192.                                mCamera.setParameters(p);                                    //1
  193.                                SystemClock.sleep(143);
  194.  
  195.                                p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
  196.                                mCamera.setParameters(p);                                    //1
  197.                                SystemClock.sleep(143);
  198.  
  199.                                p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
  200.                                mCamera.setParameters(p);                                    //0
  201.                                SystemClock.sleep(143);
  202.  
  203.                                p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
  204.                                mCamera.setParameters(p);                                    //1
  205.                                SystemClock.sleep(143);
  206.  
  207.                                p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
  208.                                mCamera.setParameters(p);                                    //0
  209.                                SystemClock.sleep(143);
  210.                            }
  211.                     }
  212.              };
  213.             Thread lightThread = new Thread(r);
  214.             lightThread.start();
  215.  
  216.  
  217.         /*else{
  218.  
  219.             Logger.Log("Off");
  220.             p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
  221.             mCamera.setParameters(p);
  222.         }*/
  223.     }
  224.  
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement