Android Service-controlling-MediaPlayer
Alles was ich tun möchte ist einfach die hintergrund Musik in meiner app wird über einen service, so bin ich in der Lage, es zu starten und zu stoppen jede Aktivität.
Habe ich alles perfekt eingerichtet, wenn ich erzähle, den Dienst zu Toast, wenn es gestartet wird, und zerstört, aber sobald ich die Medien spielen in gibt es statt Er beginnt fein und spielt die Musik, aber sobald auf eine Schaltfläche klicken, um den Dienst zu beenden bekomme ich eine Fehlermeldung und einen force close.
BITTE jemand helfen, mich sehen, was ich falsch mache.. ich bin ziemlich neu auf android entwickeln, ich vermute, es wird etwas einfach.
Hier ist mein code:
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.widget.Toast;
public class MyService extends Service {
private MediaPlayer player;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show();
MediaPlayer player = MediaPlayer.create(MyService.this, R.raw.my_music);
player.start();
player.setLooping(true);
}
@Override
public void onDestroy() {
super.onDestroy();
player.stop();
Toast.makeText(this, "Service Stopped", Toast.LENGTH_SHORT).show();
}
}
Schauen Sie sich meine Antwort auf deinen doppelten post stackoverflow.com/questions/2298817/... und sehen, ob das hilft
InformationsquelleAutor ChaluxeDeluxe | 2010-02-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
player.stop();
----- diese Zeile muss IhnennullPointerException
.private MediaPlayer player;
hier erstellen Sie nur Referenz.Aber das Objekt, das Sie erstellen inonCreate()
hat im lokalen Bereich nur. Bitte erstellen Sie ein Objekt mit Klasse, Niveau, Umfang, dann wird es funktionieren.InformationsquelleAutor Ritesh Gune
onBind
Methode gibt null zurück, nur wenn es ein "Lokaler Dienst".Wenn ich Sie richtig verstehe, wollen Sie create remote service.
zeigen Sie das remote-service-Bereich in diese Referenz-site.
InformationsquelleAutor IvoryCirrus
Haben Sie die player-Objekt deklarierte lokale der OnCreate-Prozedur, entfernen Sie die lokale Erklärung, siehe unten:
InformationsquelleAutor Rick D
Wie schrieb ** Rick D** das problem erklärt wurde, im Mediaplayer, die Sie deklariert haben Spieler vor, einfach:
InformationsquelleAutor Felipe Peña