Klingelton nach 2 Minuten automatisch stoppen

N

newpageart

Neues Mitglied
0
Hallo ihr lieben,

ich habe ein Activity in dem beim Start ein klingelton abgespielt wird. Dieser läuft derzeit solange bis jemand den "Stop"-Button drückt. Dies funktioniert auch ohne Probleme. Nun würde ich gern aber noch etwas einbauen, damit der Klingelton nicht dauerhaft abgespielt wird. Also der Klingelton soll entweder über den Button, oder spätestens nach 2 Minuten (automatisch) beendet werden.
Wie könnte ich das nun am besten anstellen, das der klingelton nach 2 Minuten automatisch gestopt wird?

Diesen Code verwende ich derzeit:
Code:
public class MyScheduledActivity extends Activity {
    private MediaPlayer mMediaPlayer; 
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_scheduledactivity);
        
        Button buttonDismiss = (Button)findViewById(R.id.dismiss);
        
        buttonDismiss.setOnClickListener(new Button.OnClickListener(){
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                mMediaPlayer.stop();
                finish();
            }});

        playSound(getBaseContext(), getAlarmUri());
    }
    
    protected void onStop() {
        super.onStop();
    }
    
    private void playSound(Context context, Uri alert) {
        mMediaPlayer = new MediaPlayer();
        try {
            mMediaPlayer.setDataSource(context, alert);
            final AudioManager audioManager = (AudioManager) context
                    .getSystemService(Context.AUDIO_SERVICE);
            if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
                mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
                mMediaPlayer.prepare();
                mMediaPlayer.start();
            }
        } catch (IOException e) {
            Log.v("Out", "ERROR: "+e.toString());
        }
    }
 
    private Uri getAlarmUri() {
        Uri alert = RingtoneManager
                .getDefaultUri(RingtoneManager.TYPE_ALARM);
        if (alert == null) {
            alert = RingtoneManager
                    .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
            if (alert == null) {
                alert = RingtoneManager
                        .getDefaultUri(RingtoneManager.TYPE_RINGTONE);
            }
        }
        return alert;
    }
}

Viele Grüße,
Tom
 
Google mal nach
Thread runnable

Gruß

Gesendet von meinem Nexus 4 mit der Android-Hilfe.de App
 

Ähnliche Themen

Laser5001
  • Laser5001
Antworten
2
Aufrufe
900
Laser5001
Laser5001
G
Antworten
5
Aufrufe
870
jogimuc
J
5
Antworten
22
Aufrufe
1.420
590239
5
Zurück
Oben Unten