@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); } } }
@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); }
@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); }