Ecco: ci sono riuscito:
Inizialmente, è come per la selezione delle immagini, con la differenza che non viene fornito nessun Uri string, ma si imposta solo l'Action dell'Intent come ACTION_RINGTONE_PICKER.
Intent intent=new Intent(); intent.setAction(RingtoneManager.ACTION_RINGTONE_PICKER); startActivityForResult(intent,0);Me la riscrivo:
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); startActivityForResult(intent,0);una scrittura alternativa in cui l'action è posta fra i parametri dell'Intent.
La differenza più significativa sta nella onActivityResult().
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE, uri);
}
Riscrivo:
iniziamo con questo:
Uri ringtoneUri=data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
Log.d("URI",""+ringtoneUri);
07-04 15:35:29.935: D/URI(32324): content://media/internal/audio/media/35Ecco, con questa riga ottengo l'Uri della suoneria selezionata.
Riscrivo e vado avanti.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
Uri ringtoneUri=data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI);
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE, ringtoneUri);
}
In sintesi, prima deriviamo l'Uri della suoneria selezionata, quindi stabiliamo la suoneria di default.
Ora la dobbiamo suonare con il pulsante...
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri ringtoneUri=RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
ringtone =RingtoneManager.getRingtone(getApplicationContext(), ringtoneUri);
if(ringtone!=null){
ringtone.play();
}
}
});
Prima ricaviamo l'Uri della suoneria di default, quindi deriviamo la suoneria dall'Uri e quindi la si suona...Riscrivo...
Uri ringtoneUri=RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
Ringtone ringTone=RingtoneManager.getRingtone(getApplicationContext(), ringtoneUri);
if(ringTone !=null)ringTone.play();
Bene.Ora dobbiamo studiare il modo di fermare la suoneria!
Nessun commento:
Posta un commento