Bonjour,
Voici mon problème:
Je cherche à couper un mediaplayer lorsque l'application quitte le foregroung (retour ou home), mais le mediaPlayer que je lance se trouve dans un autre fichier .java
Il faudrait que je puisse invoquer une méthode situer dans l'autre fichier .java mais il y a une icohérence entre static et non static méthode. Comment je peux faire?
Voici le code, MainActivity.class:
Et celui de WebAppInterface:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 MediaPlayer mp = null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView(); // ici la webView qui accède au fichier audio via une page HTML } @Override public void onPause(){ super.onPause(); if(mp != null){ mp.stop(); //mp.release(); } }
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 Context mContext; MediaPlayer mp = null; /** Instantiate the interface and set the context */ WebAppInterface(Context c) { mContext = c; } //Play an audio file from the webpage @JavascriptInterface public void playAudio(String aud) { //String aud - file name passed //from the JavaScript function try { stop(); mp = new MediaPlayer(); mp.setAudioStreamType(AudioManager.STREAM_MUSIC); mp.setDataSource(aud); mp.prepareAsync(); mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.start(); } }); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block mp = null; e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @JavascriptInterface public void stopAudio() { stop(); } public void stop(){ if(mp != null){ mp.stop(); //mp.release(); }
Partager