Bonjour à Tous
Bonne année à tous
Je n'arrive pas à lire un fichier mp3 sous android ?
Voici mon code :
MonFichier est une chaîne = sMonRepertoire+"MaChanson.mp3"
SI fFichierExiste(MonFichier) = Faux ALORS
Erreur("Absence du fichier "+RC+MonFichier,ErreurInfo)
SINON
MultimédiaOuvre(MM_MP3,MonFichier)
MultimédiaJoue(MM_MP3)
FIN
Remarques
Le fichier est bien présent au bon endroit il peut s'entendre avec l'application par défaut d'android.
J'ai essayé dans le code
avec son(MonFichier) idem pas de son
avec MultimédiaJoue(MM_MP3,MultimédiaNonBloquant) idem pas de son
Salut
Il faut écrire
MonFichier est une chaîne ANSI.
De toute façon rien ne dit que l'application a les droits sur
sMonRepertoire dont on ne sait pas a quoi cela correspond.
De plus, MultimédiaJoue renvoie un booléen
Et on peut connaître l'erreur de cette fonction
Mais bon, pour cela il aurait fallu lire l'aide de la fonction.
Et bien sûr, tu as vérifié que le son multimédia est au max
Justement le problème c'est que MultimédiaJoue ne renvoi pas d'erreur
J'ai fait le test même si cela n'apparait pas dans mon code
J'avais déjà vérifié que le son multimédia est au Max
sMonRepertoire c'est un SysRepStockageExterne(1, sseAppFichier) + sous dossier dans lequel fExtraitRessource() dépose le fichier.
Le chemin est Bon.
Pour les droits j'ai mis tous ceux qui sont en relation avec les fichiers et le multimédia et l'audio.
Je vais explorer la piste de La lst 82 et du code java
Je vous donnerai les résultats
Merci Popoy
çà marche avec le code Java à condition de virer
Les boutons Stop et Pause et le code qui va avec
pLecteurAudio.PauseSon
pLecteurAudio.StoppeSon
Ils font planter la compilation et la création de l'application Android (IDEM avec le code LST 82 sans rien changer) Pourquoi ?
C'est gênant impossible d'arrêter la musique même en fermant la fenêtre.
----------------------- Le code parait pourtant simple ?
// Met en pause le lecteur de son
public static void PauseSon()
{
if(mp!=null)
{
if(mp.isPlaying()){
mp.pause();
}
else {
mp.start();
}
}
}
// Stoppe la lecture du son en cours
public static void StoppeSon()
{
if(mp!=null){
mp.stop();
mp.release();
mp = null;
}
}
-------------------------------- Voici l'Erreur retournée qui n'est pas parlante pour moi, si quelqu'un à la capacité de me traduire cela, je prends ?:
:compileDebugJavaWithJavac
D:\Mes Projets Mobile 28\WD28 MonApplication\Android\dbg\src\com\oded\appjb\wdgen\GWDFFEN_Multimedia.java:928: error: method PauseSon in class GWDCPpLecteurAudio cannot be applied to given types;
GWDCPpLecteurAudio.PauseSon(vWD_gsURL);
^
required: no arguments
found: WDObjet
reason: actual and formal argument lists differ in length
D:\Mes Projets Mobile 28\WD28 MonApplication\Android\dbg\src\com\oded\appjb\wdgen\GWDFFEN_Multimedia.java:1074: error: method StoppeSon in class GWDCPpLecteurAudio cannot be applied to given types;
GWDCPpLecteurAudio.StoppeSon(vWD_gsURL);
^
required: no arguments
found: WDObjet
reason: actual and formal argument lists differ in length
Note: D:\Mes Projets Mobile 28\WD28 MonApplication\Android\dbg\src\com\oded\appjb\wdgen\GWDCPpLecteurAudio.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors
> Task :compileDebugJavaWithJavac FAILED
FAILURE: Build completed with 2 failures.
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================
2: Task failed with an exception.
-----------
* What went wrong:
java.lang.StackOverflowError (no error message)
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
Salut
L'erreur dit que tu transmet un argument alors que ton code n'accepte pas d'argument
A priori tu lui transmets vWD_gsURL qui doit être une chaîne
Or ta fonction PauseSon n'accepte pas cette chaîne.
String c'est le terme utiliser pour les chaînes en Java
Je t'invite à regarder les tutos sur ce sujet
https://jca.developpez.com/tutoriel/java/string/
Donc ta fonction doit commencer par
public static void PauseSon(String url){
Oui effectivement
en réalité
Par rapport à l'exemple LST 82
Pour lancer le son c'est Bien // On Joue le son
pLecteurAudio.JoueSon(gsURL)
// Ou gsUrl c'est le chemin du son format Mp3
Mais Contrairement à l'exemple LST 82 // On Pause le son
pLecteurAudio.PauseSon()
au lieu de pLecteurAudio.PauseSon(gsURL)
//ne pas passer l'url du son MP3 // On stoppe le son
pLecteurAudio.StoppeSon()
au lieu de pLecteurAudio.StoppeSon(gsURL)
//ne pas passer l'url du son MP3
et comme cela plus d'erreur de compilation et ça marche.
Si cela peut servir à d'autres
merci Popoy pour ton aide.