我将自己的音频文件放在resource文件夹中的raw文件夹中。我想将其设置为通知声音警报。我该如何继续呢?
发布于 2011-06-24 14:13:40
当你在BroadcastReceiver中收到通知时,请使用下面的代码,然后调用activity类中的activity,这样就可以播放声音文件了。
mMediaPlayer = MediaPlayer.create(this, R.raw.sound1);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setLooping(true);
mMediaPlayer.start();快乐的编码..
发布于 2015-06-17 11:44:01
这通常是使用MediaPlayer实现的,但这并不是一个理想的解决方案,因为它的运行有点独立于通知,因此在静音、阻塞模式和其他各种情况下会以意想不到的方式运行。为了一致性和兼容性,应该使用通知本身的音频机制来播放声音。这可以通过设置适当的URI来实现,如下所示:
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());关键部分是:
Uri alarmSound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE
+ "://" + getPackageName() + "/raw/mymp3");原始文件存储在您的/res/ mp3文件夹中。
发布于 2011-06-24 14:31:21
试试这段代码
notification.sound =Uri.parse("android.resource://" + getPackageName() + "Name OF audio store in raw folder");https://stackoverflow.com/questions/6464080
复制相似问题