1

我正在尝试使用简单的通知声音作为我的应用程序中的声音。但我就是无法让它工作。使用 RingManager.TYPE_NOTIFICATION 时根本没有声音。我应该提一下,当我使用 TYPE_ALARM 或 TYPE_RINGTONE(或 TYPE_ALL = 在我的手机中是 TYPE_RINGTONE)时,它可以工作。我也尝试了 setVolume(),但没有结果。

当我此时(从另一部手机)向自己发送消息时,我可以听到通知声音。

有些人试图帮助我,但仍然没有解决。也许有人可以给我最简单的eclipse项目,我可以检查它是否有效?也许只是我的手机有问题?我有三星 Galaxy S2。

这是我的代码。我做错了什么?或者我还应该检查什么?

Uri _sound = RingtoneManager.getDefaultUri( RingtoneManager.TYPE_NOTIFICATION ); 
// _sound.toString() returns "content://settings/system/notification_sound"

// this doesn't work either
// Uri _sound = RingtoneManager.getActualDefaultRingtoneUri( getApplicationContext(), RingtoneManager.TYPE_NOTIFICATION );
// _sound.toString() returns "content://media/internal/audio/media/10" if it can help

mp = new MediaPlayer();
try {
    // doesn't change anything while using TYPE_NOTIFICATION
    // mp.setVolume(1.0f, 1.0f); 

    // tried also mp.setDataSource(context, Settings.System.DEFAULT_NOTIFICATION_URI);
    // but no effect
    mp.setDataSource( getApplicationContext(), _sound );
    mp.setLooping( false );
    mp.prepare();
} catch( IOException e ) {}
mp.start();

谢谢。

4

1 回答 1

2

您可以尝试改用此语法:

Uri _sound = RingtoneManager.getActualDefaultRingtoneUri(Context, RingtoneManager.TYPE_NOTIFICATION);

这对我有用。

你也可以试试这个:

mp.setDataSource(context, Settings.System.DEFAULT_NOTIFICATION_URI);
于 2012-07-20T16:48:27.390 回答