title: Store information in audio file
body: <p>I want to store information like artist while recording an MP3 file.   :  </p>
  
  <pre><code>public class AudioCap extends Activity {  
      private static final String LOG_TAG = "AudioRecordTest";  
      private static String mFileName = null;  
  
      private RecordButton mRecordButton = null;  
      private MediaRecorder mRecorder = null;  
  
      private PlayButton mPlayButton = null;    
      private MediaPlayer mPlayer = null;  
  
      private void onRecord(boolean start) {  
          if (start) {  
              startRecording();  
      }       else {  
              stopRecording();  
      }  
       }  
  
      private void onPlay(boolean start) {  
          if (start) {  
              startPlaying();  
          }   else {  
              stopPlaying();  
          }  
      } 
  
      private void startPlaying() {  
          mPlayer = new MediaPlayer();  
           try {  
              mPlayer.setDataSource(mFileName);  
              mPlayer.prepare();  
              mPlayer.start();  
          } catch (IOException e) {  
               Log.e(LOG_TAG, "prepare() failed");  
          }  
      }  
  
  private void stopPlaying() {
      mPlayer.release();
      mPlayer = null;
  }
  
  private void startRecording() {
      mRecorder = new MediaRecorder();
      mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
      mRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
      mRecorder.setOutputFile(mFileName);
      mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
  
      try {
          mRecorder.prepare();
      } catch (IOException e) {
          Log.e(LOG_TAG, "prepare() failed");
      }
  
      mRecorder.start();
  }
  
  private void stopRecording() {
      mRecorder.stop();
      mRecorder.release();
      mRecorder = null;
  }
  
  class RecordButton extends Button {
      boolean mStartRecording = true;
  
      OnClickListener clicker = new OnClickListener() {
          public void onClick(View v) {
              onRecord(mStartRecording);
              if (mStartRecording) {
                  setText("Stop recording");
              } else {
                  setText("Start recording");
              }
              mStartRecording = !mStartRecording;
          }
      };
  
      public RecordButton(Context ctx) {
          super(ctx);
          setText("Start recording");
          setOnClickListener(clicker);
      }
  }
  
  class PlayButton extends Button {
      boolean mStartPlaying = true;
  
      OnClickListener clicker = new OnClickListener() {
          public void onClick(View v) {
              onPlay(mStartPlaying);
              if (mStartPlaying) {
                  setText("Stop playing");
              } else {
                  setText("Start playing");
              }
              mStartPlaying = !mStartPlaying;
          }
      };
  
      public PlayButton(Context ctx) {
          super(ctx);
          setText("Start playing");
          setOnClickListener(clicker);
      }
  }
  
  public AudioCap() {
      mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();
      mFileName += "/audiorecordtest.mp3";
  }
  
  @Override
  public void onCreate(Bundle icicle) {
      super.onCreate(icicle);
  
      LinearLayout ll = new LinearLayout(this);
      mRecordButton = new RecordButton(this);
      ll.addView(mRecordButton,
              new LinearLayout.LayoutParams(
                      ViewGroup.LayoutParams.WRAP_CONTENT,
                      ViewGroup.LayoutParams.WRAP_CONTENT,
                      0));
      mPlayButton = new PlayButton(this);
      ll.addView(mPlayButton,
              new LinearLayout.LayoutParams(
                      ViewGroup.LayoutParams.WRAP_CONTENT,
                      ViewGroup.LayoutParams.WRAP_CONTENT,
                      0));
      setContentView(ll);
  }
  
  @Override
  public void onPause() {
      super.onPause();
      if (mRecorder != null) {
          mRecorder.release();
          mRecorder = null;
      }
  
      if (mPlayer != null) {
          mPlayer.release();
          mPlayer = null;
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>I have following code to record my audio file in mp3 format. But details can't be added to it. So is there any way so that I can store some metadata through my android activity/java program into my recorded audio file.  </p>
  
  <p>Regards,<br>
  Sneha</p>