Cómo reproducir archivos mp3 en carpeta sin procesar como notificación de alerta de sonido en android

Estoy teniendo mi propio archivo de audio colocado en la carpeta en bruto dentro de la carpeta de recursos. Quiero configurarlo como alerta de sonido de notificación. Cómo debo proceder

Por favor, use el código debajo cuando reciba la notificación en BroadcastReceiver y luego llame a la actividad en esa clase de actividad utilizada debajo del código para reproducir el archivo de sonido.

mMediaPlayer = new MediaPlayer(); mMediaPlayer = MediaPlayer.create(this, R.raw.sound1); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer.setLooping(true); mMediaPlayer.start(); 

Codificación feliz

Esto se logra a menudo utilizando el MediaPlayer, pero que no es una solución ideal, ya que se ejecuta un poco independientemente de las notificaciones, y por lo tanto se comportará de maneras inesperadas para muting, modo de bloqueo y varias otras cosas. Para la consistencia y la compatibilidad, el sonido se debe jugar usando el mecanismo audio de notificaciones sí mismo. Esto puede lograrse estableciendo un URI apropiado, siguiendo las líneas de:

 NotificationCompat.Builder builder = new NotificationCompat.Builder( this).setSmallIcon(R.drawable.ic_myicon) .setContentTitle(title).setAutoCancel(true); Uri alarmSound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + getPackageName() + "/raw/mymp3"); builder.setSound(alarmSound); ... builder.setContentIntent(pendingIntent); NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); manager.notify(1, builder.build()); 

La parte clave es:

 Uri alarmSound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + getPackageName() + "/raw/mymp3"); 

El archivo mp3 se almacena en su carpeta / res / raw.

Prueba este código

 notification.sound =Uri.parse("android.resource://" + getPackageName() + "Name OF audio store in raw folder"); 

Refiérase al código

  Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(this, alert); final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) { player.setAudioStreamType(AudioManager.STREAM_ALARM); player.setLooping(true); player.prepare(); player.start(); } 

Puede agregar un sonido usando

Notification.sound = Uri.parse ("file: ///sdcard/notification/ringer.mp3");

Vaya a http://developer.android.com/guide/topics/ui/notifiers/notifications.html

Usted puede reproducir el sonido de la carpeta en bruto a continuación es el archivo java sólo copiar pegar este código implementarlo y usar sólo la función de esa clase que se reproduce el sonido con música fuerte y con vibrar …….

Si quieres vibrar también tienes que agregar permiso

  <uses-permission android:name="android.permission.VIBRATE"/> 

Cree el archivo BeepManager.java y copie el código debajo de la copia

 import java.io.IOException; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.res.AssetFileDescriptor; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Vibrator; import android.preference.PreferenceManager; import android.util.Log; final class BeepManager { private static final String TAG = BeepManager.class.getSimpleName(); private static final float BEEP_VOLUME = 0.10f; private static final long VIBRATE_DURATION = 200L; private final Activity activity; private MediaPlayer mediaPlayer; private boolean playBeep; private boolean vibrate; BeepManager(Activity activity) { this.activity = activity; this.mediaPlayer = null; updatePrefs(); } void updatePrefs() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity); playBeep = shouldBeep(prefs, activity); vibrate = prefs.getBoolean(PreferencesActivity.KEY_VIBRATE, false); if (playBeep && mediaPlayer == null) { // The volume on STREAM_SYSTEM is not adjustable, and users found it too loud, // so we now play on the music stream. activity.setVolumeControlStream(AudioManager.STREAM_MUSIC); mediaPlayer = buildMediaPlayer(activity); } } void playBeepSoundAndVibrate() { if (playBeep && mediaPlayer != null) { mediaPlayer.start(); } if (vibrate) { Vibrator vibrator = (Vibrator) activity.getSystemService(Context.VIBRATOR_SERVICE); vibrator.vibrate(VIBRATE_DURATION); } } private static boolean shouldBeep(SharedPreferences prefs, Context activity) { boolean shouldPlayBeep = prefs.getBoolean(PreferencesActivity.KEY_PLAY_BEEP, true); if (shouldPlayBeep) { // See if sound settings overrides this AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE); if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) { shouldPlayBeep = false; } } return shouldPlayBeep; } private static MediaPlayer buildMediaPlayer(Context activity) { MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); // When the beep has finished playing, rewind to queue up another one. mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer player) { player.seekTo(0); } }); AssetFileDescriptor file = activity.getResources().openRawResourceFd(R.raw.beep); try { mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength()); file.close(); mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME); mediaPlayer.prepare(); } catch (IOException ioe) { Log.w(TAG, ioe); mediaPlayer = null; } return mediaPlayer; } } 

Ahora solo usa la siguiente función que puedes reproducir sonido …………

  BeepManager beepManager = new BeepManager(this); beepManager.updatePrefs(); beepManager.playBeepSoundAndVibrate(); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.