3

ユーザーが RingtonePreference を使用して着信音を選択すると、次の方法で Uri を抽出できます。

String pathString = mPreferences.getString(sKeySoundRingtone, null);
Uri pathUri;

if (pathString == null)
    pathUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);;
else
    pathUri = Uri.parse(pathString);

ここで、 SoundPoolクラスを使用したいと思います。これは、通知 (通常は 5 秒未満) のみを使用しており、それが提供するループとレートのオプションが気に入っているためです。

クラスはパスで構築でき、 pathUri.getPath() は機能しないため、最善を尽くして失敗しました。

これを機能させる方法はありますか?

4

2 に答える 2

0

通知がブロードキャストされると、受信者が電話をかけます。その際、関数を呼び出すだけで、サウンド プールからサウンドを再生できます。

下記参照:

public void Sound(){
    AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
    float volume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
    android.util.Log.v("SOUND","["+volume+"]["+spool.play(soundID, volume, volume, 1, 0, 1f)+"]");
};
于 2012-11-06T13:30:30.247 に答える