bonjour
je suis bloqué sur un probleme depuis pas mal de temps
voila:je cherche a faire un petite application qui fait des annonces audio quand je clic sur un "button"
quand je fait mon code dans la classe MainActivity,pas de probleme
mais pour des raisons d aspect pratique,je voudrais appeler une classe java qui fasse la partie audio
en fait ,c est pour permettre de faire une classe a chaque cas de figure ,mais aussi pour pouvoir reprendre des parties de mon code plus facilement d apres moi,et les reutiliser suivant mes idées
donc quand je cree ma classe java que j appelle audio, j envoi a une methode appele vocale un tableua ou, suivant le int envoyé je lis telle ou telle piste mp3;j ai fait un dossier raw ou j ai mis les sons voulus et je l ai mis dans res de mon projet
j ai constaté que ,dans ma classe java vocale ,il fallait que je donne le chemin d acces complet de ces pistes audio
par contre ,eclipse (oui je me sert d eclipse pour programmer sous android et en plus j ai un vieux pc 32 bits) me met une erreur sur le ".create":
The method create(Context, int) in the type MediaPlayer is not applicable for the arguments (vocale, int)
a force de chercher,j ai cru comprendre que cela venait du fait que je n avais aucun context dans ma classe,le this ne renvoyant a rien
du coup ,je pensais importer le context de MainActivity,mais je ne comprend pas du tout comment il faut faire
je suis amateur et debutant et autodidactesur la programmation,seul devant mon clavier,ce qui explique mes nombreuses lacunes et imperfections
voici mon code
le xml
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 package com.example.scorepetforum; import android.support.v7.app.ActionBarActivity; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.provider.MediaStore.Audio; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { int compteur=0; int compteur2=0; static int[]memaff=new int[2]; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void audio(View view) { ; memaff[0]=compteur; memaff[1]=compteur2; vocale a=new vocale(); a.causer(memaff); }; }
et ma fameuse classe java vocale
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 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#2085e1" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.petanque.MainActivity" > <Button android:id="@+id/button5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:onClick="audio" android:text="audio" /> </RelativeLayout>
si vous pouvez me dire comment il faut faire,merci
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 package com.example.scorepetforum; import android.R; import android.media.MediaPlayer; import android.support.v7.app.ActionBarActivity; import android.util.Log; import java.io.IOException; import android.app.Activity; import android.media.MediaPlayer; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; public class vocale { private MediaPlayer eux; private MediaPlayer p12; ; public void causer(int[] memaff) { p12 = MediaPlayer.create(this, com.example.scorepetforum.R.raw.p12); eux=(MediaPlayer.create(this,com.example.scorepetforum.R.raw.eux)); switch(memaff[0]){ case 1: eux.start(); break; case 2: p12.start(); break; } }
Partager