Ich versuche derzeit, eine App zu erstellen, die speziell eine asynchrone Aufgabe verwenden muss. Von dem, was ich verstehe, wird eine asynchrone Task den Code unabhängig von der UI ausführen, die generiert wird, aber wenn ich sehe, dass sie implementiert wird, muss sie in den onStart, onResume-Methoden implementiert werden, die unweigerlich an eine Aktivität gebunden sind. nicht sicher, ob ich das falsch verstehe. Außerdem versuche ich, meine Klasse, die die Music Player-Klasse ist, auszuführen, aber es bleibt beim Deklarieren des Media Players hängen, und dies ist ein Kopieren und Einfügen aus einer anderen Anweisung meines Codes, die tatsächlich funktioniert. hier ist der Code:Versuchen, Hintergrundmusik auf Android-App
package mt.edu.mcast.clickermaster;
import android.media.MediaPlayer;
import android.os.AsyncTask;
public class MusicPlayer extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute(){
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
MediaPlayer player = MediaPlayer.create(this,R.raw.FluteMusic);
player.setLooping(true);
player.setVolume(1.0f,1.0f);
player.start();
return null;
}
@Override
protected void onPostExecute(Void result){
super.onPostExecute(result);
}
}
Der Fehler "Methode kann nicht aufgelöst wird sagen:‚erstellen (Musicplayer, int)", und ja, ich habe 'FluteMusic' im rohen Ordner
ich jemand schätzen, die eine Hand verleihen :)
Wenn Sie den Musikplayer von Ihrer Benutzeroberfläche trennen möchten (wie der Benutzer die Musik-App ablegt und im Web surft), sollten Sie 'Service' verwenden. 'AsyncTask' scheint eine gute Option zu sein, aber es dient eigentlich einem anderen Zweck :) –