IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème lors de la création d'une appli lecteur multimédia [Débutant(e)]


Sujet :

Android

  1. #1
    Invité
    Invité(e)
    Par défaut Problème lors de la création d'une appli lecteur multimédia
    Bonjour,

    J'ai fais une application de lecteur multimédia en suivant des tutos, mais impossible de la lancer en simulation sans qu'elle crash directement au lancement.
    Eclipse m'indique aucune erreur dans le code. J'ai essayé de voir d'où venait mon erreur via le logcat, mais sans succès.
    Pourriez vous m'aidez, svp ?

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    <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: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=".MainActivity" >
     
       <ImageButton
          android:id="@+id/imageButton3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentBottom="true"
          android:layout_alignParentLeft="true"
          android:layout_marginBottom="14dp"
          android:onClick="forward"
          android:src="@android:drawable/ic_media_ff" />
     
       <ImageButton
          android:id="@+id/imageButton4"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentRight="true"
          android:layout_alignTop="@+id/imageButton2"
          android:layout_marginLeft="22dp"
          android:layout_toRightOf="@+id/imageButton2"
          android:onClick="rewind"
          android:src="@android:drawable/ic_media_rew" />
     
       <ImageButton
          android:id="@+id/imageButton2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignTop="@+id/imageButton1"
          android:layout_marginLeft="14dp"
          android:layout_toRightOf="@+id/imageButton1"
          android:onClick="pause"
          android:src="@android:drawable/ic_media_pause" />
     
       <ImageButton
          android:id="@+id/imageButton1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignTop="@+id/imageButton3"
          android:layout_marginLeft="24dp"
          android:layout_toRightOf="@+id/imageButton3"
          android:onClick="play"
          android:src="@android:drawable/ic_media_play" />
     
       <SeekBar
          android:id="@+id/seekBar1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" 
          android:layout_above="@+id/imageButton3"
          android:layout_toLeftOf="@+id/textView2"
          android:layout_toRightOf="@+id/textView1" />
     
       <TextView
          android:id="@+id/textView1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignRight="@+id/imageButton3"
          android:layout_alignTop="@+id/seekBar1"
          android:text="inital_Time"
          android:textAppearance="?android:attr/textAppearanceSmall" />
     
       <TextView
          android:id="@+id/textView2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/imageButton4"
          android:layout_alignTop="@+id/seekBar1"
          android:text="inital_Time"
          android:textAppearance="?android:attr/textAppearanceSmall" />
     
       <TextView
          android:id="@+id/textView3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/imageButton3"
          android:text="@string/hello_world"
          android:textAppearance="?android:attr/textAppearanceMedium" />
     
       <ImageView
          android:id="@+id/imageView1"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_alignParentBottom="true"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/textView3"
          android:src="@drawable/ic_launcher" />
     
       <TextView
          android:id="@+id/textView4"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/textView3"
          android:layout_alignBottom="@+id/textView3"
          android:layout_toRightOf="@+id/imageButton1"
          android:text="TextView" />
     
    </RelativeLayout>

    Le java
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    package com.example.appli6;
     
    import java.util.concurrent.TimeUnit;
     
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.os.Handler;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageButton;
    import android.widget.SeekBar;
    import android.widget.TextView;
    import android.widget.Toast;
     
    public class MainActivity extends Activity {
     
       public TextView songName,startTimeField,endTimeField;
       private MediaPlayer mediaPlayer;
       private double startTime = 0;
       private double finalTime = 0;
       private Handler myHandler = new Handler();;
       private int forwardTime = 5000; 
       private int backwardTime = 5000;
       private SeekBar seekbar;
       private ImageButton playButton,pauseButton;
       public static int oneTimeOnly = 0;
       @Override
       protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          songName = (TextView)findViewById(R.id.textView4);
          startTimeField =(TextView)findViewById(R.id.textView1);
          endTimeField =(TextView)findViewById(R.id.textView2);
          seekbar = (SeekBar)findViewById(R.id.seekBar1);
          playButton = (ImageButton)findViewById(R.id.imageButton1);
          pauseButton = (ImageButton)findViewById(R.id.imageButton2);
          songName.setText("song.mp3");
          mediaPlayer = MediaPlayer.create(this, R.raw.song);
          seekbar.setClickable(false);
          pauseButton.setEnabled(false);
     
       }
     
       public void play(View view){
       Toast.makeText(getApplicationContext(), "Playing sound", 
       Toast.LENGTH_SHORT).show();
          mediaPlayer.start();
          finalTime = mediaPlayer.getDuration();
          startTime = mediaPlayer.getCurrentPosition();
          if(oneTimeOnly == 0){
             seekbar.setMax((int) finalTime);
             oneTimeOnly = 1;
          } 
     
          endTimeField.setText(String.format("%d min, %d sec", 
             TimeUnit.MILLISECONDS.toMinutes((long) finalTime),
             TimeUnit.MILLISECONDS.toSeconds((long) finalTime) - 
             TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.
             toMinutes((long) finalTime)))
          );
          startTimeField.setText(String.format("%d min, %d sec", 
             TimeUnit.MILLISECONDS.toMinutes((long) startTime),
             TimeUnit.MILLISECONDS.toSeconds((long) startTime) - 
             TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.
             toMinutes((long) startTime)))
          );
          seekbar.setProgress((int)startTime);
          myHandler.postDelayed(UpdateSongTime,100);
          pauseButton.setEnabled(true);
          playButton.setEnabled(false);
       }
     
       private Runnable UpdateSongTime = new Runnable() {
          public void run() {
             startTime = mediaPlayer.getCurrentPosition();
             startTimeField.setText(String.format("%d min, %d sec", 
                TimeUnit.MILLISECONDS.toMinutes((long) startTime),
                TimeUnit.MILLISECONDS.toSeconds((long) startTime) - 
                TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.
                toMinutes((long) startTime)))
             );
             seekbar.setProgress((int)startTime);
             myHandler.postDelayed(this, 100);
          }
       };
       public void pause(View view){
          Toast.makeText(getApplicationContext(), "Pausing sound", 
          Toast.LENGTH_SHORT).show();
     
          mediaPlayer.pause();
          pauseButton.setEnabled(false);
          playButton.setEnabled(true);
       }	
       public void forward(View view){
          int temp = (int)startTime;
          if((temp+forwardTime)<=finalTime){
             startTime = startTime + forwardTime;
             mediaPlayer.seekTo((int) startTime);
          }
          else{
             Toast.makeText(getApplicationContext(), 
             "Cannot jump forward 5 seconds", 
             Toast.LENGTH_SHORT).show();
          }
     
       }
       public void rewind(View view){
          int temp = (int)startTime;
          if((temp-backwardTime)>0){
             startTime = startTime - backwardTime;
             mediaPlayer.seekTo((int) startTime);
          }
          else{
             Toast.makeText(getApplicationContext(), 
             "Cannot jump backward 5 seconds",
             Toast.LENGTH_SHORT).show();
          }
     
       }
     
       @Override
       public boolean onCreateOptionsMenu(Menu menu) {
       // Inflate the menu; this adds items to the action bar if it is present.
       getMenuInflater().inflate(R.menu.main, menu);
       return true;
       }
     
     }

    Et le logcat
    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
     
    05-21 03:40:29.460: D/AndroidRuntime(1125): Shutting down VM
    05-21 03:40:29.460: W/dalvikvm(1125): threadid=1: thread exiting with uncaught exception (group=0xb3a65ba8)
    05-21 03:40:29.530: E/AndroidRuntime(1125): FATAL EXCEPTION: main
    05-21 03:40:29.530: E/AndroidRuntime(1125): Process: com.example.appli6, PID: 1125
    05-21 03:40:29.530: E/AndroidRuntime(1125): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.appli6/com.example.appli6.MainActivity}: java.lang.NullPointerException
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.app.ActivityThread.access$800(ActivityThread.java:135)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.os.Handler.dispatchMessage(Handler.java:102)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.os.Looper.loop(Looper.java:136)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.app.ActivityThread.main(ActivityThread.java:5017)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at java.lang.reflect.Method.invokeNative(Native Method)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at java.lang.reflect.Method.invoke(Method.java:515)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at dalvik.system.NativeStart.main(Native Method)
    05-21 03:40:29.530: E/AndroidRuntime(1125): Caused by: java.lang.NullPointerException
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at com.example.appli6.MainActivity.onCreate(MainActivity.java:40)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.app.Activity.performCreate(Activity.java:5231)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
    05-21 03:40:29.530: E/AndroidRuntime(1125): 	... 11 more
    05-21 03:40:39.200: I/Process(1125): Sending signal. PID: 1125 SIG: 9
    Merci

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Caused by: java.lang.NullPointerException at com.example.appli6.MainActivity.onCreate(MainActivity.java:40)
    Tu as une utilisation d'une variable null : invocation de méthode sur objet null ou utilisation de null dans une méthode qui ne le supporte pas.
    Le problème se trouve dans la classe MainActivity du package com.example.appli6, dans la méthode onCreate, à la ligne 40 du fichier MainActivity.java.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Salut

    J'ai essayé ton code sur mon PC et ça marche parfaitement, seulement j'ai du créer un dossier "raw" dans le dossier "res" et j'ai du y insérer un fichier MP3 appelé song (Voir pièce jointe )

    Après ça j'ai eu aucun soucis (Fait peut être un petit nettoyage du projet : Project -> Clean)
    Images attachées Images attachées  

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci pour vos réponses.

    Ce qui m'étonne, c'est que j'ai la même arborescence que sur ton image Danck, et ça ne fonctionne pas (j'ai fais un nettoyage du projet également).

    Mon problème ne peut pas venir des SDK installés ?

    Voila ceux que j'ai d'installés sur mon PC :

    Nom : SDK.png
Affichages : 128
Taille : 113,8 Ko

    Sinon le fait que je sois sur une session non administrateur, ça peut changer quelque chose ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    je ne pense pas..

    Voici ce que j'ai d'installé sur la machine sur laquelle j'ai effectué les tests (le strict minimum ^^). Donc je ne pense pas que ça vienne de la :/
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 11
    Dernier message: 05/08/2009, 12h30
  2. Problème lors de la création d'une table
    Par xoum89 dans le forum SQL
    Réponses: 8
    Dernier message: 20/04/2009, 22h29
  3. Réponses: 10
    Dernier message: 13/01/2008, 11h52
  4. Problème lors de la création d'une DLL?
    Par zuzuu dans le forum Windows
    Réponses: 6
    Dernier message: 04/10/2007, 10h26
  5. Réponses: 4
    Dernier message: 04/06/2007, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo