2015-09-10 1 views
1

Я пытаюсь сделать чат-камеру, такую ​​как whatsapp, я так сильно искал Google, но не нашел решения по этому поводу.Камерная камера как whatsapp в Android?

Я попытался использовать пользовательскую камеру, но она слишком медленная. Если это возможно с пользовательской камеры, то, пожалуйста, предложите мне любую библиотеку или api, которая поможет улучшить производительность камеры.

Пожалуйста, помогите мне, как это сделать.

Заранее спасибо

+1

Здесь вы идете https://github.com/sandrios/sandriosCamera – Killer

+0

@Killer вы спасатель – propoLis

ответ

0

На нажав на значок камеры, вы можете позвонить,

общественности статической окончательный ИНТ REQUEST_CAM = 1313;

private void pickFromCamera() { 
    Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(i, REQUEST_CAM); 
} 

на startActivityForResult

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
case REQUEST_CAM: 
       Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data"); 
       SaveImageTask.SaveImageListener saveCameraImageListener = new SaveImageTask 
         .SaveImageListener() { 
        @Override 
        public void onImageSaved(String filePath) { 
         Uri uri = Uri.fromFile(new File(filePath)); 
         beginCrop(uri); 
        } 
       }; 
SaveImageTask saveTask = new SaveImageTask(saveCameraImageListener); 
       saveTask.execute(cameraBitmap); 
       break; 

здесь является то, что происходит в saveImageHelper вызова

public static Uri getUri(String filePath) { 
    File media = new File(filePath); 
    Uri uri = Uri.fromFile(media); 
    return uri; 
} 

public static File getAlbumStorageDir(String albumName) { 
    File file = new File(Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_PICTURES), albumName); 
    if (file.exists()) { 
     Log.d(LOGTAG, "storeage file exists"); 
    } 
    if (!(file.mkdirs() || file.isDirectory())) { 
     Log.e(LOGTAG, "Directory not created"); 
    } 
    return file; 
} 
public static class SaveImageTask extends AsyncTask<Bitmap, Void, String> { 

    private SaveImageListener listener; 

    public SaveImageTask(SaveImageListener listener) { 
     this.listener = listener; 
    } 

    @Override 
    protected String doInBackground(Bitmap... params) { 
     Bitmap bitmapToSave = params[0]; 

     File fPath = getAlbumStorageDir("Typist"); 
     File f = new File(fPath, "typist_" + Calendar.getInstance().getTimeInMillis() + ".jpg"); 
     String filePath = null; 
     try { 
      FileOutputStream strm = new FileOutputStream(f); 
      bitmapToSave.compress(Bitmap.CompressFormat.JPEG, 100, strm); 
      strm.close(); 
      filePath = f.getPath(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return filePath; 
    } 

    @Override 
    protected void onPostExecute(String filePath) { 
     super.onPostExecute(filePath); 
     listener.onImageSaved(filePath); 
    } 

    interface SaveImageListener { 
     void onImageSaved(String filePath); 
    } 
} 
+0

спасибо за ответ, но мне нужно реализовать в пользовательской камере не по умолчанию камеру, В whatsapp я думаю, что они используют пользовательскую камеру – Ash

+1

нет, нет cus tom камера. это камера по умолчанию для телефона. – abhishek

+0

даже попросите вашего разрешения, когда у вас есть другое приложение для камеры, например, ретрика или камера – abhishek