@Override
  public void onCompletion(MediaPlayer mp) {
    // IF RAMADAN PLAY PRAYER, IF PRAYER ALREADY PLAYED, STOP
    if (mSettings.getBoolean(AppSettings.Key.USE_ADHAN)
        && mSettings.getBoolean(AppSettings.Key.IS_RAMADAN)) {
      mMediaPlayer.stop();
      mMediaPlayer.release();
      mMediaPlayer = null;
      AssetFileDescriptor assetFileDescriptor = null;
      if (mPrayerNameString.equalsIgnoreCase(getString(R.string.fajr))) {
        assetFileDescriptor = getResources().openRawResourceFd(R.raw.dua_sehri);
      } else if (mPrayerNameString.equalsIgnoreCase(getString(R.string.maghrib))) {
        assetFileDescriptor = getResources().openRawResourceFd(R.raw.dua_iftar);
      }

      if (assetFileDescriptor == null) {
        stopAlarm();
        return;
      }

      try {
        mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setDataSource(
            assetFileDescriptor.getFileDescriptor(),
            assetFileDescriptor.getStartOffset(),
            assetFileDescriptor.getLength());
        mMediaPlayer.setAudioStreamType(mAudioStream);
        mMediaPlayer.setOnCompletionListener(
            new MediaPlayer.OnCompletionListener() {
              @Override
              public void onCompletion(MediaPlayer mp) {
                stopAlarm();
              }
            });
        mMediaPlayer.setLooping(false);
        mMediaPlayer.prepare();
        mAlarmOff.postDelayed(
            mStartDua =
                new Runnable() {
                  @Override
                  public void run() {
                    mMediaPlayer.start();
                  }
                },
            3000);

      } catch (Exception e) {
        Log.e("RingAlarmActivity", e.getMessage(), e);
      }
    }
  }
Esempio n. 2
0
 @Override
 public void run() {
   if (isRecord) {
     if (count) {
       recordButton.setCompoundDrawablesWithIntrinsicBounds(recIconRed, null, null, null);
     } else {
       recordButton.setCompoundDrawablesWithIntrinsicBounds(recIconWhite, null, null, null);
     }
     count = !count;
     recTime += 1000;
     updateTime(recTime);
     recordButton.postDelayed(recordAnim, 1000);
   }
 }
  private void startAlarm() {
    mMediaPlayer.start();

    mAlarmOff.postDelayed(
        mAutoStop =
            new Runnable() {
              @Override
              public void run() {
                sendNotification();
                mAlarmOff.performClick();
              }
            },
        FIVE_MINUTES);
  }
Esempio n. 4
0
  @Override
  public void start(String audioFileName) {
    isRecord = true;
    mediaRecorder = new MediaRecorder();
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
    mediaRecorder.setOutputFile(audioFileName);
    mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    try {
      mediaRecorder.prepare();
    } catch (IOException e) {
      Log.e(LOG_TAG, "prepare() failed");
    }

    mediaRecorder.start();
    recordButton.setText("Stop");
    recordButton.postDelayed(recordAnim, 1000);
  }