Wie kann ich ein kleines MediaPlayer Lied im Hintergrund spielen?

T

the_time

Ambitioniertes Mitglied
0
Hallo,
ich habe ein kleines App geschrieben. Es läuft ganz gut wenn ich "ourSong.start()" + "ourSong.release()" auskommentiere. Wie kann ich das reinbauen.

Splash.java:

PHP:
package com.thenewbosten.travis;

import com.thenewbosten.tarvis.R;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;

public class Splash extends Activity {

    MediaPlayer ourSong;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        ourSong = MediaPlayer.create(Splash.this, R.raw.splashsound);
        ourSong.start();
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);

        Thread timer = new Thread() {
            public void run() {
                try {
                    sleep(5000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } finally {

                    Intent openMainActivity = new Intent(
                            "com.thenewbosten.travis.MAINACTIVITY");
                    startActivity(openMainActivity);
                }
            }
        };

        timer.start();

    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        ourSong.release();
        finish();
    }

}

So Ich habe die virtuelle Maschine geändert . Man kann das Lied aber das App funktioniert nicht. Ich hatte davor auf Nexus s getestet und eben auf Nexus 5 umgestellt.
 
Zuletzt bearbeitet:
Hallo du darfst nicht den mediaplayer vor der super.onCreate machen.
Sonst gibt es immer einen Absturz.
LG freelager
 
ja das stimmt immer zuerst die super methoden ausführen!!!

hier mal dein code etwas verändert(habe deine zwei expliziten Objekte in anonyme umgewandelt da du die ja sowieso nciht anderweitig nutzt...sieht einfach nach weniger Code aus so imho):

PHP:
package com.thenewbosten.travis;

import com.thenewbosten.tarvis.R;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;

public class Splash extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);

        new Thread() {
            public void run() {
                MediaPlayer ourSong = MediaPlayer.create(Splash.this, R.raw.splashsound);
                try {
                    ourSong.start();
                    sleep(5000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } finally {
                    startActivity( new Intent("com.thenewbosten.travis.MAINACTIVITY"));
                    ourSong.release();
                    ourSong=null;
                    finish();
                }
            }
        }.start();

    }


}
 
Zuletzt bearbeitet:

Ähnliche Themen

R
Antworten
9
Aufrufe
738
koje71
koje71
E
Antworten
0
Aufrufe
962
ey6799
E
Temucin
Antworten
1
Aufrufe
544
jogimuc
J
Zurück
Oben Unten