Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. private void playSound(Context context, int soundResId, int volFactor) {
  2. if (context != null) {
  3. try {
  4. MediaPlayer mediaPlayer = new MediaPlayer();
  5. AssetFileDescriptor assetFileDescriptor = context.getResources().openRawResourceFd(soundResId);
  6. if (assetFileDescriptor != null) {
  7. mediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());
  8. assetFileDescriptor.close();
  9. }
  10. if (mediaPlayer != null) {
  11. mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
  12. @Override
  13. public void onCompletion(MediaPlayer mp) {
  14. try {
  15. mediaPlayer.reset();
  16. mediaPlayer.release();
  17. } catch (Exception e) {
  18. e.printStackTrace();
  19. } finally {
  20. mp = null;
  21. }
  22. }
  23. });
  24. mediaPlayer.setOnErrorListener(new OnErrorListener() {
  25. @Override
  26. public boolean onError(MediaPlayer mp, int what, int extra) {
  27. try {
  28. mediaPlayer.reset();
  29. mediaPlayer.release();
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. } finally {
  33. mp = null;
  34. }
  35. return true;
  36. }
  37. });
  38. AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
  39. am.setStreamVolume(AudioManager.STREAM_ALARM, am.getStreamMaxVolume(AudioManager.STREAM_MUSIC)/volFactor, 0);
  40. mediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
  41. mediaPlayer.prepare();
  42. mediaPlayer.start();
  43. }
  44. } catch (Exception e) {
  45. e.printStackTrace();
  46. }
  47. }
  48. }
  49.  
  50. <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement