通知声音出现问题

3

我正在尝试测试通知功能。我创建了一个启用了音频播放的模拟器。我能够收到通知,但是无法听到声音。可能出了什么问题?我是否遗漏了某些设置?

NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns);
        int icon = R.drawable.icon;
        CharSequence tickerText = "Hello";
        CharSequence contentTitle = "My notification";  // expanded message title
        CharSequence contentText = "Hello";      // expanded message text

        Intent notificationIntent = new Intent("ABC");
        PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);

        long when = System.currentTimeMillis();

        Notification notification = new Notification(icon, tickerText, when);

        notification.defaults |= Notification.DEFAULT_SOUND;

        notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);


        mNotificationManager.notify(HELLO_ID, notification);

当我查看logcat时,我看到了以下的堆栈跟踪。
09-20 15:44:47.297: DEBUG/MediaPlayer(62): Couldn't open file on client side, trying server side
09-20 15:44:47.347: ERROR/MediaPlayerService(34): Couldn't open fd for content://settings/system/notification_sound
09-20 15:44:47.347: ERROR/MediaPlayer(62): Unable to to create media player
09-20 15:44:47.415: WARN/NotificationService(62): error loading sound for content://settings/system/notification_sound
09-20 15:44:47.415: WARN/NotificationService(62): java.io.IOException: setDataSource failed.: status=0x80000000
09-20 15:44:47.415: WARN/NotificationService(62):     at android.media.MediaPlayer.setDataSource(Native Method)
09-20 15:44:47.415: WARN/NotificationService(62):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:714)
09-20 15:44:47.415: WARN/NotificationService(62):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:669)
09-20 15:44:47.415: WARN/NotificationService(62):     at com.android.server.NotificationPlayer$CreationAndCompletionThread.run(NotificationPlayer.java:88)
2个回答

6
这isanath的想法是正确的。阅读完另一个人的问题后,我按照指示创建了所需的目录结构,并将音频文件推送到DDMS中的 /mnt/sdcard/media/audio/notifications 目录中。(我认为C:\Program Files (x86)\Android\android-sdk\platforms\android-14\data\res\raw\fallbackring.ogg 是一个不错的通知提示音。)然后在模拟器中卸载并重新挂载SD卡。之后,通知提示音设置中除了“无声”外还有“Cobalt”,选择该选项后,我的通知提示音正常工作。

4
我通过在SD卡上提供不同的文件来使通知声音播放。我无法播放默认的声音。我不确定默认声音是什么。当我进入设置并查看默认声音时,只有一个选项即静音。我也无法更改它。因此,也许没有默认的通知声音,因此我会得到错误提示,尽管我们会认为会有一个明智的默认设置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接