N
newpageart
Neues Mitglied
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:
Viele Grüße,
Tom
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;
}
}
Tom