JavascriptProva

lunedì 4 luglio 2016

Suoneria

Dopo le divagazioni, vediamo come si può selezionare una suoneria.

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/35
Ecco, 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