J'ai écrit l'application la plus élémentaire que je puisse penser à essayer de jouer un fichier MP3, mais cela ne fonctionne pas. Je ne reçois aucune erreur, mais lorsque l'application démarre, le son n'est pas joué. Qu'est-ce que je manque? J'ai "Norm_Iphone_Money.mp3" à l'intérieur du dossier RES / RAW. Le fichier joue bien dans Windows Media Player et iTunes. P> J'utilise les dernières versions de Java SDK et Eclipse pour Java. L'application est ciblée pour Android 2.2 et fonctionne bien dans l'émulateur malgré aucun son. P> P>
6 Réponses :
Essayez de remplacer ces deux lignes: avec cette ligne: p> et voir si cela fonctionne. P> p>
Si ces deux écrits sont logiquement différents dans le code compilé, je serais choqué.
Non, mais le tester moi-même cela ne fonctionne que de cette façon, cela ne fonctionne pas comment il l'a écrit à l'origine. Si quelqu'un d'autre se soucie d'expliquer exactement pourquoi i> c'est-à-dire que ce serait génial. Jouer une ressource audio brute est décrit ici ici développeur.android.com/Guide/topics /media/index.html
Bien sûr, il est logiquement différent. MP.Create appellera la méthode statique et retournera une nouvelle instance d'un MediaPlayer, qui n'est jamais stockée. Ensuite, il appelle commencer () sur l'instance construite par défaut.
La méthode statique Créer (contexte, int) à partir du type Mediaplayer doit être consulté de manière statique. Essayez ceci: Il jouera le fichier .mp3 avec cette ligne aussi p>
Le problème est que le volume de support est réglé sur 0 (pas le volume de la sonnerie). Vous pouvez le définir par:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);
quelle est cette startupactivité
édité la réponse! La starupabilité n'est qu'une activité dans mon projet. Mais nous pouvons faire référence au audio_service constant par classe de contexte. L'activité est juste un contexte et audio_service est une chaîne de contexte constante statique. Merci beaucoup pour vos commentaires, Deppzz!
Et il va une heure de ma vie ... merci !!
@Xuantungvu .. Veuillez expliquer à propos de ces valeurs 20 et 0 dans (Audiomanager.stream_music, 20, 0) ..
Merci, ajouté des liens vers l'explication.
Cela fonctionne mais pourquoi? Je veux dire, mon code travaille depuis des mois et soudainement sonné sans erreur. Peut être une mise à jour Android?
Je suggérerais ceci:
MediaPlayer mp = new MediaPlayer(); //bla bla bla mp = MediaPlayer.create(getApplicationContext(), R.raw.norm_iphone_money);
Pourquoi yo créer un lecteur multimédia mp code>, puis le remplacer par la sortie de
mediaplayer.create code>?
avait le même problème Après avoir cliqué pour démarrer le lecteur multimédia, l'écran est allé noir et l'application s'est arrêtée. P>
Je viens de changer p>
mediaplayer mp = mediaplayer.create (ceci, r.raw.sound); mp.start (); p> blockQuote>
à p>
mediaplayer mp = mediafplayer.create (ceci, r.raw.sound) .start (); p> blockQuote>
Je ne suis pas vraiment sûr de quelle est la différence là-bas, mais cela a résolu mon problème. P>
Il n'y a pas de différence si vous ne faites que chaîner l'appel de la méthode.
Le problème est avec l'émulateur, modifiez l'émulateur ou essayez d'exécuter l'application sur un périphérique réel. Cela devrait résoudre le problème. P>
Avez-vous essayé sur un véritable appareil? Vous pouvez essayer d'utiliser les méthodes SedaTaSource () et préparer () avant le début d'un démarrage de MediaPlayer () au lieu de créer (), mais je doute que cela fonctionne si crée () ne ...