ユーザーが 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() は機能しないため、最善を尽くして失敗しました。
これを機能させる方法はありますか?