Sto sviluppando un semplice gioco in Android. Voglio aggiungere effetti sonori per ciascuno degli eventi di tocco . Tuttavia, aggiungo effetti sonori di sottofondo che vengono eseguiti durante il gioco. Ma come si può aggiungere un piccolo effetto sonoro per toccare qualsiasi personaggio del gioco. Per una migliore comprensione segue è il mio design di classe: Ho un'attività principale da dove vista Sto chiamando la mia classe GameView che estende surfaceView. Per il suono bacground ho appena creato il suono a mainActivity e poi chiamato quella classe GameView come muggito:Gioco Effetti sonori in Android
public class MainActivity extends Activity {
MediaPlayer backgroundMusic;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
backgroundMusic = MediaPlayer.create(MainActivity.this, R.raw.bg);
backgroundMusic.setLooping(true);
backgroundMusic.setVolume(10.0f, 3.0f);
backgroundMusic.start();
setContentView(new GameView(this));
}
}
E che segue è la mia classe GameView. Voglio aggiungere effetti sonori qui, in questa classe onTouchEvent come muggito:
public class GameView extends SurfaceView {
@Override
public boolean onTouchEvent(MotionEvent event) {
//checking condition I want to give different sound here.
}
}
ho cercato di farlo come mainActivity (che utilizza MediaPlayer.creat()), ma mostra l'errore. Qualcuno sa come aggiungere tali effetti sonori sulla base del mio design di classe?
_ "mostra errore" _. E qual è l'errore ..? – Michael
L'errore mostrato non è di runtime. Solo il mio compilatore dice come segue: "Il metodo create (Context, int) nel tipo MediaPlayer non è applicabile per gli argomenti (GameView, int)" Potrebbe essere perché GameView non è una classe di attività. Comunque non so perché ... @Michael – exponentialFun