Bonjour, je suis un petit nouveau en dev android et j'essaye de lire des mp3 dans une webview depuis une fonction javascript.
Pour lire les sons pas de problème, j'ai trouvé un code qui marche bien, par contre il créé une instance de Mediaplayer à chaque appel et du coup je ne peut pas arrêter les sons en cours, et au bout d'un moment il y a trop d'instances de mediaplayer qui cesse de fonctionner...
Voilà le code que j'utilise :
si j'ai tout bien compris il ne faudrait créer qu'une instance de mediaplyer qui deviendrait du coup contrôlable avec .reset() .release() .stop()...
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 import java.io.IOException; import android.content.Context; import android.content.res.AssetFileDescriptor; import android.media.MediaPlayer; import android.webkit.JavascriptInterface; public class AudioInterface { Context mContext; AudioInterface(Context c) { mContext = c; } //Play an audio file from the webpage @JavascriptInterface public void playAudio(String aud) { final MediaPlayer mp; try { AssetFileDescriptor fileDescriptor = mContext.getAssets().openFd(aud); mp = new MediaPlayer(); mp.setDataSource(fileDescriptor.getFileDescriptor(), fileDescriptor.getStartOffset(), fileDescriptor.getLength()); fileDescriptor.close(); mp.prepare(); mp.start(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } };
j'ai passé ma journée dessus et je n'arrive à rien, si une bonne âme charitable aurais une piste ce serait cool !!!
merci !
Partager