Android Open Source - DEVIEW2014_AndroidApp_Demo Memo Recorder






From Project

Back to project page DEVIEW2014_AndroidApp_Demo.

License

The source code is released under:

Apache License

If you think the Android project DEVIEW2014_AndroidApp_Demo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.nhn.android.deview.ui.note;
//from   ww  w  .  j a va  2 s  .  c  o  m
import java.io.IOException;

import com.nhn.android.deview.AppContext;
import com.nhn.android.deview.R;
import com.nhn.android.deview.core.lifecycle.CycleControllerActivity;
import com.nhn.android.deview.core.transfer.BundleField;
import com.nhn.android.deview.core.transfer.BundleMapper;
import com.nhn.android.deview.core.view.DeclareView;
import com.nhn.android.deview.core.view.ViewMapper;

import android.annotation.TargetApi;
import android.app.Activity;
import android.hardware.Camera;
import android.media.CamcorderProfile;
import android.media.MediaRecorder;
import android.media.MediaRecorder.VideoEncoder;
import android.media.MediaRecorder.VideoSource;
import android.os.Build;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class MemoRecorder extends CycleControllerActivity implements SurfaceHolder.Callback {
  @BundleField
  public boolean isAuidoOnly;
  
  @BundleField
  public String pathName;
  
  @DeclareView(id = R.id.memoVideoPreview)
  SurfaceView mPreview;
    
  MediaRecorder mRecorder;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    BundleMapper.fromIntent(this,getIntent());  
    setContentView(R.layout.activity_memo_recorder, true);
  }
  
  @Override
  protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    startRecord(isAuidoOnly);

  }
  
  //
  @TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1)
  void startRecord(boolean audioOnly) {
    try {
      mRecorder = new MediaRecorder();
      if (audioOnly == false) {
        mRecorder.setVideoSource(VideoSource.CAMERA);
      }
      
      mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
      
      CamcorderProfile camcorderProfile_HQ = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
      mRecorder.setProfile(camcorderProfile_HQ);
      mPreview.getHolder().addCallback(this);
      mPreview.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
      
      //mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
      mRecorder.setOutputFile(pathName);
  
      // Recording is now started
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  
  void stopRecord() {

     if (mRecorder != null) {
       mRecorder.stop();
       mRecorder.reset();   // You can reuse the object by going back to setAudioSource() step
       mRecorder.release();  
       mRecorder = null;
     }
  }

  @TargetApi(Build.VERSION_CODES.GINGERBREAD)
  @Override
  public void surfaceCreated(SurfaceHolder holder) {
    mRecorder.setPreviewDisplay(mPreview.getHolder().getSurface());
    try {
      //mRecorder.setOrientationHint(180);
      mRecorder.prepare();
      mRecorder.start();
    } catch (IllegalStateException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    
    
    
  }

  @Override
  public void surfaceChanged(SurfaceHolder holder, int format, int width,
      int height) {
    
  }

  @Override
  public void surfaceDestroyed(SurfaceHolder holder) {
  }
  
}




Java Source Code List

com.nhn.android.deview.AppContext.java
com.nhn.android.deview.AppTable.java
com.nhn.android.deview.DeViewApplication.java
com.nhn.android.deview.DeviewSchemeActivity.java
com.nhn.android.deview.MainDB.java
com.nhn.android.deview.ThreadWorker.java
com.nhn.android.deview.core.connector.DataConnectorListener.java
com.nhn.android.deview.core.connector.DataDoc.java
com.nhn.android.deview.core.connector.DataField.java
com.nhn.android.deview.core.connector.DataSet.java
com.nhn.android.deview.core.connector.DefaultDataConnector.java
com.nhn.android.deview.core.db.CursorReader.java
com.nhn.android.deview.core.db.DbTable.java
com.nhn.android.deview.core.lifecycle.CycleBaseLayout.java
com.nhn.android.deview.core.lifecycle.CycleControllable.java
com.nhn.android.deview.core.lifecycle.CycleControllerActivity.java
com.nhn.android.deview.core.lifecycle.CycleController.java
com.nhn.android.deview.core.lifecycle.CycleFragment.java
com.nhn.android.deview.core.listview.ListCellViewAdapter.java
com.nhn.android.deview.core.listview.ListCellView.java
com.nhn.android.deview.core.listview.PageViewPagerAdapter.java
com.nhn.android.deview.core.listview.PageView.java
com.nhn.android.deview.core.pager.SimplePagerAdapter.java
com.nhn.android.deview.core.transfer.BundleField.java
com.nhn.android.deview.core.transfer.BundleMapper.java
com.nhn.android.deview.core.transfer.IntentUri.java
com.nhn.android.deview.core.transfer.UriObject.java
com.nhn.android.deview.core.view.DeclareView.java
com.nhn.android.deview.core.view.ViewMapper.java
com.nhn.android.deview.dao.DeviewUri.java
com.nhn.android.deview.dao.MyMemoManager.java
com.nhn.android.deview.dao.MyMemo.java
com.nhn.android.deview.dao.MySchedule.java
com.nhn.android.deview.dao.program.ProgramData.java
com.nhn.android.deview.dao.program.ProgramListConnector.java
com.nhn.android.deview.dao.program.ProgramListDoc.java
com.nhn.android.deview.dao.program.ProgramManager.java
com.nhn.android.deview.dao.program.ProgramTrack.java
com.nhn.android.deview.dao.program.TrackListConnector.java
com.nhn.android.deview.ui.main.MainActivity.java
com.nhn.android.deview.ui.main.ProgramCellView.java
com.nhn.android.deview.ui.main.ProgramPageView.java
com.nhn.android.deview.ui.note.MemoCellView.java
com.nhn.android.deview.ui.note.MemoListActivity.java
com.nhn.android.deview.ui.note.MemoRecorder.java
com.nhn.android.deview.ui.note.MyScheduleActivity.java
com.nhn.android.deview.webviewer.MemoWebToolbar.java
com.nhn.android.deview.webviewer.ProgramWebActivity.java
com.nhn.android.deview.webviewer.WebPageView.java