Android Open Source - EnergyWastingApp Record Audio






From Project

Back to project page EnergyWastingApp.

License

The source code is released under:

Copyright ? 2013-2014 Pekka Ekman <pekka.ekman@aalto.fi> 2013 Babujee Jerome Robin <robin.babujeejerome@aalto.fi> Permission is hereby granted, free of charge, to any person obtaining a ...

If you think the Android project EnergyWastingApp 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 fi.aalto.pekman.energywastingapp.components;
//  w  ww. j a  v  a2 s .c  o  m
import android.annotation.TargetApi;
import android.content.pm.PackageManager;
import android.media.MediaRecorder;
import android.os.Build;
import android.util.Log;

public class RecordAudio extends Component {

  @Override
  public String getName() { return "Record audio"; }

  private MediaRecorder rec = null;

  @TargetApi(8)
  @Override
  public boolean isSupported() {
    if (Build.VERSION.SDK_INT >= 8)
      return context.getPackageManager()
          .hasSystemFeature(PackageManager.FEATURE_MICROPHONE);
    else
      return true;
  }

  @TargetApi(10)
  @Override
  public void start() {
    if (rec == null && isSupported()) {
      rec = new MediaRecorder();
      rec.setAudioSource(MediaRecorder.AudioSource.MIC);
      rec.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
      if (Build.VERSION.SDK_INT >= 8) {
        rec.setAudioSamplingRate(96000);
        rec.setAudioChannels(2);
      }
      if (Build.VERSION.SDK_INT >= 10)
        rec.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
      else
        rec.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
      rec.setOutputFile("/dev/null");
      
      try {
        rec.prepare();
      } catch (Exception e) {
        Log.e("RecordAudio.start()", e.getMessage(), e);
        rec = null;
        stop();
        markTurnedOff();
        return;
      }
      rec.start();
    }
    else
      markTurnedOff();
    
    Log.d("RecordAudio", "Recording audio from microphone");
  }

  @Override
  public void stop() {
    if (rec != null) {
      Log.d("RecordAudio", "Stopping audio recording");
      
      rec.stop();
      rec.release();
      rec = null;
    }
  }

  @Override
  public void onPause() {
    if (running) {
      stop();
    }
  }

  @Override
  public void onResume() {
    if (running) {
      start();
    }
  }
}




Java Source Code List

fi.aalto.pekman.energywastingapp.MainActivity.java
fi.aalto.pekman.energywastingapp.components.AbstractCamera.java
fi.aalto.pekman.energywastingapp.components.AbstractFileWriter.java
fi.aalto.pekman.energywastingapp.components.AppDirFileWriter.java
fi.aalto.pekman.energywastingapp.components.BlueToothBurn.java
fi.aalto.pekman.energywastingapp.components.CPUBurn.java
fi.aalto.pekman.energywastingapp.components.Component.java
fi.aalto.pekman.energywastingapp.components.Display.java
fi.aalto.pekman.energywastingapp.components.ExtStorageFileWriter.java
fi.aalto.pekman.energywastingapp.components.GPSCoordSearch.java
fi.aalto.pekman.energywastingapp.components.RecordAudio.java
fi.aalto.pekman.energywastingapp.components.StillCamera.java
fi.aalto.pekman.energywastingapp.components.TonePlay.java
fi.aalto.pekman.energywastingapp.components.Vibration.java
fi.aalto.pekman.energywastingapp.components.VideoCamera.java
fi.aalto.pekman.energywastingapp.components.WiFiDataTransfer.java