Android Open Source - sana Audio Player






From Project

Back to project page sana.

License

The source code is released under:

Copyright (c) 2010, Moca All rights reserved. The source code for Moca is licensed under the BSD license as follows: Redistribution and use in source and binary forms, with or without modification, ...

If you think the Android project sana 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 org.moca.media;
/*from  w w  w. j  av a 2s . com*/
import android.content.Context;      
import android.content.res.Resources;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class AudioPlayer implements OnClickListener, OnCompletionListener {
  private static final String TAG = AudioPlayer.class.toString();
  
  private static final String PLAY = "?";
  private static final String PAUSE = "||";
  
  private int resourceId;
  private Button playButton = null;
  private Context mContext = null;
  private MediaPlayer mp = null;
  
  public AudioPlayer(int resourceId) {
    this.resourceId = resourceId;
  }
  
  public void onClick(View v) {
    Log.i(TAG, "Audio prompt play button pressed");
      try {
        if (mp == null) {
          play();
        } else {
          stop();
        }
    } catch (Exception e) {
      Log.e(TAG, "Could not prepare media player: " + e.toString());
    }
  }
  
  public void play() {
    if (mp == null) {
      try {
        mp = MediaPlayer.create(mContext, resourceId);
          mp.setOnCompletionListener(this);
          mp.start();
          playButton.setText(PAUSE);
      } catch (Resources.NotFoundException exception) {
        Log.e(TAG, "Resource " + resourceId + " did not exist.");
        exception.printStackTrace();
      }
    }
  }
  
  public void stop() {
    if (mp != null) {
      mp.stop();
      mp.release();
      mp = null;
      playButton.setText(PLAY);
    }
  }
  
  public View createView(Context c) {
    mContext = c; // TODO leak?
    playButton = new Button(c);
    playButton.setText(PLAY);
        playButton.setOnClickListener(this);
        return playButton;
  }

  public void onCompletion(MediaPlayer foo) {
    Log.i(TAG, "Playing complete.");
    stop();
  }
}




Java Source Code List

.Moca.java
org.moca.Constants.java
org.moca.ImagePreviewDialog.java
org.moca.ScalingImageAdapter.java
org.moca.SelectableImageView.java
org.moca.activity.NotificationList.java
org.moca.activity.NotificationViewer.java
org.moca.activity.PatientInfoDialog.java
org.moca.activity.ProcedureRunner.java
org.moca.activity.ProceduresList.java
org.moca.activity.SavedProcedureList.java
org.moca.activity.Settings.java
org.moca.db.EncounterDAO.java
org.moca.db.EventDAO.java
org.moca.db.EventProvider.java
org.moca.db.Event.java
org.moca.db.ImageProvider.java
org.moca.db.MocaDB.java
org.moca.db.NotificationMessage.java
org.moca.db.NotificationProvider.java
org.moca.db.PatientInfo.java
org.moca.db.PatientProvider.java
org.moca.db.PatientValidator.java
org.moca.db.ProcedureDAO.java
org.moca.db.ProcedureProvider.java
org.moca.db.SavedProcedureProvider.java
org.moca.db.SoundProvider.java
org.moca.media.AudioPlayer.java
org.moca.net.MDSCode.java
org.moca.net.MDSInterface.java
org.moca.net.MDSNotification.java
org.moca.net.MDSResult.java
org.moca.net.SMSReceive.java
org.moca.procedure.BinaryUploadElement.java
org.moca.procedure.DateElement.java
org.moca.procedure.GpsElement.java
org.moca.procedure.MultiSelectElement.java
org.moca.procedure.PatientIdElement.java
org.moca.procedure.PictureElement.java
org.moca.procedure.ProcedureElement.java
org.moca.procedure.ProcedurePage.java
org.moca.procedure.ProcedureParseException.java
org.moca.procedure.Procedure.java
org.moca.procedure.RadioElement.java
org.moca.procedure.SelectElement.java
org.moca.procedure.SoundElement.java
org.moca.procedure.TextElement.java
org.moca.procedure.TextEntryElement.java
org.moca.procedure.ValidationError.java
org.moca.procedure.branching.Criteria.java
org.moca.procedure.branching.Criterion.java
org.moca.procedure.branching.LogicAnd.java
org.moca.procedure.branching.LogicBase.java
org.moca.procedure.branching.LogicNot.java
org.moca.procedure.branching.LogicOr.java
org.moca.service.BackgroundUploader.java
org.moca.service.QueueManager.java
org.moca.service.ServiceConnector.java
org.moca.service.ServiceListener.java
org.moca.task.CheckCredentialsTask.java
org.moca.task.ImageProcessingTaskRequest.java
org.moca.task.ImageProcessingTask.java
org.moca.task.MDSSyncTask.java
org.moca.task.PatientLookupListener.java
org.moca.task.PatientLookupTask.java
org.moca.task.ResetDatabaseTask.java
org.moca.task.ValidationListener.java
org.moca.util.MocaUtil.java
org.moca.util.UserDatabase.java