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 :

Lecture d'un fichire audio ?


Sujet :

Android

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Lecture d'un fichire audio ?
    Bonjour tout le monde,

    J'ai un petit soucis avec mon application Android.
    J'ai un tchat dans mon application et je cherche à implémenter des messages vocaux.

    J'ai un problème assez bizarre..
    J'ai la même application sur iPhone (tout fonctionne).

    Lorsque je suis sur iOs, je fais un message vocal et je l'envoie dans la discussion.
    Le message vocal est écoutable sur iOs mais pas sur Android.

    A l'inverse, lorsque je fais un message vocal sur Android, il est bien lisible sur iOs.

    Lorsque j'accède a la conversation sur Android, si c'est un message vocal, je télécharge l'audio sur le téléphone (pour pouvoir le lire n'importe quand, même sans connexion plus tard).

    Le fichier audio est télécharger dans le répertoire : /storage/emulated/0/Android/data/MON_APPLI/files/audio_03-03-2021_16-02-22.m4a
    Le fichier audio fait bien la bonne taille (donc je suppose qu'il a bien été télécharger via le serveur... mais je ne peux pas vérifier).

    Voici la fonction pour lire mon audio via son chemin sur le téléphone :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        private void playAudio(String chemin){
     
            MediaPlayer mp = new MediaPlayer();
     
            try {
                mp.setDataSource(chemin);
                mp.prepare();
                mp.start();
     
            } catch (Exception e) {
                e.printStackTrace();
            }
     
        }

    Lors de la lecture d'un fichire audio (venant d'Android) sous Android, ça fonctionne.
    Lors de la lecture du fichier audio (venant d'iOs) sous Android, j'ai cette erreur :

    2021-03-03 17:15:30.568 6847-6847/fr.iremos.connect V/MediaPlayerNative: setDataSource(95, 0, 576460752303423487)
    2021-03-03 17:15:30.574 6847-6847/fr.iremos.connect V/MediaPlayerNative: setVideoSurfaceTexture
    2021-03-03 17:15:30.574 6847-6847/fr.iremos.connect V/MediaPlayerNative: prepare
    2021-03-03 17:15:30.581 6847-9366/fr.iremos.connect V/MediaPlayerNative: message received msg=100, ext1=1, ext2=-1010
    2021-03-03 17:15:30.581 6847-9366/fr.iremos.connect E/MediaPlayerNative: error (1, -1010)
    2021-03-03 17:15:30.581 6847-9366/fr.iremos.connect V/MediaPlayerNative: signal application thread
    2021-03-03 17:15:30.581 6847-6847/fr.iremos.connect V/MediaPlayerNative: prepare complete - status=1

    Je n'arrive pas à comprendre pourquoi j'ai une erreur (1, -1010)

    Le fichier existe bien sur le téléphone mais j'ai l'impression qu'il est corrompu.
    Pourquoi le fichier audio télécharger depuis le serveur serait corrompu sur Android et pas sur iOs ? (ils appellent tout les 2 la même URL pour télécharger l'audio sur le tel).

    Comment récupérer le fichier audio ?
    Je ne peux pas naviguer dans ce répertoire directement sur le téléphone.

    J'ai tenté de faire une fonction pour me l'envoyer via le partage sous Android mais vu que le fichier semble corrompu, il ne veut jamais l'envoyer.
    Par contre, ça fonctionne bien avec d'autres fichiers lorsqu'il ne semble pas corrompu.

    Ma fonction de partage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        File f = new File(cheminDeMonVocal); // /storage/emulated/0/Android/data/MON_APPLI/files/audio_03-03-2021_16-02-22.m4a
     
        if(f.exists()){
            // le fichier existe
            Intent intentShareFile = new Intent(Intent.ACTION_SEND);
            intentShareFile.setType(URLConnection.guessContentTypeFromName(f.getName()));
            intentShareFile.putExtra(Intent.EXTRA_STREAM, Uri.parse(f.getAbsolutePath()));
            startActivity(Intent.createChooser(intentShareFile, "Share File"));
        }
     
        else{
            // le fichier n'existe pas !
        }

    Avez-vous une idée de comment je peux récupérer le fichier audio télécharger dans le dossier ?
    Ou encore mieux, comment résoudre l'erreur de lecture ?

    Merci de votre aide

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bon, j'ai trouvé le soucis..

    C'est une histoire de codec..

    Sur iOs : il faut enregistrer le fichier en .m4a
    Sur Android : il faut enregistrer le fichier en .aac
    Lorsque je fais un vocal, je l'envoie sur le serveur et je l'enregistre sans extension !!
    Lorsque je récupère un vocal sur le serveur, je passe par une page php qui regarde si c'est un iPhone ou un Android qui fait la demande et j'adapte mon extension suivant le type (.m4a si c'est un iPhone, .aac si c'est Android).

    Un iPhone récupèrera toujours un fichier en extension .m4a
    Un Android récupèrera toujours un fichier en extension .aac

    Je pense qu'on peut faire plus simple en passant tout en .aac (lisible sur iOs & Android sans souis de codec) mais pour les besoins du projet, j'ai besoin d'avoir des fichiers .m4a sur iOs.

Discussions similaires

  1. ouverture et lecture d'un fichire dbase
    Par berlilou dans le forum MATLAB
    Réponses: 7
    Dernier message: 05/03/2008, 09h55
  2. Lecture aléatoire de pistes audios
    Par Ikko92 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/06/2007, 15h02
  3. Problème de lecture avec un player audio ouvert par SWFobject
    Par ceddus dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/06/2007, 04h47
  4. Réponses: 2
    Dernier message: 13/09/2006, 19h18
  5. [Info]Lecture video et record audio J2ME
    Par _popopo_ dans le forum Java ME
    Réponses: 1
    Dernier message: 03/05/2006, 11h43

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