通知声音问题

时间:2010-09-20 15:13:15

标签: android android-emulator

我正在尝试测试通知。我创建了一个启用了音频播放的模拟器。我能收到通知,但我听不到声音。可能是什么问题呢?我缺少任何设置吗?

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 个答案:

答案 0 :(得分:6)

这个想法是正确的。阅读another person's problems后,我添加了指定的目录结构,并将声音文件推送到DDMS中的/mnt/sdcard/media/audio/notifications目录。 (我认为C:\Program Files (x86)\Android\android-sdk\platforms\android-14\data\res\raw\fallbackring.ogg发出良好的通知声音。)在模拟器中,我然后卸载然后重新安装SD卡。除了“静音”之外,通知铃声设置还有“Cobalt”,选择后,我的通知听起来很正常。

答案 1 :(得分:4)

我能够通过在SD卡上提供不同的文件来获得通知声音播放。我在播放默认声音时遇到问题。我不确定默认声音是什么。当我进入设置并看到默认声音时 - 它只有一个选项,即无声。我也无法改变它。 所以可能没有默认的通知声音,因此我得到了这个错误,虽然我们假设,会有一个合理的默认值。