Android - Inclut les fonctionnalités natives de StageFright dans mon propre projet
Je suis actuellement en train de développer une application qui a besoin d'enregistrer de l'audio, encoder AAC, de les diffuser, et faire la même chose en sens inverse: cours d'eau récepteur, le décodage AAC et la lecture audio.
J'ai enregistré avec succès AAC (enveloppé dans un conteneur MP4) à l'aide de la MediaRecorderet avec succès jusqu'-streaming audio à l'aide de la AudioRecord classe. Mais, j'ai besoin d'être capable d'encoder l'audio que j'ai écouter, mais aucune de ces catégories semblent contribuer à moi de le faire.
J'ai fait des recherches un peu, et a constaté que la plupart des gens qui ont ce problème de fin à l'aide d'une bibliothèque native comme ffmpeg.
Mais je me demandais, depuis Android comprend déjà StageFrightqui a du code natif qui peut faire de l'encodage et de décodage (par exemple, Encodage AAC et Décodage AAC), est-il possible d'utiliser ce code natif sur mon application? Comment puis-je le faire?
Ce serait génial si j'avais seulement besoin de mettre en œuvre certaines JNI classes avec leur code natif. De Plus, comme il est un Androïde de la bibliothèque, il aurait pas de problèmes de licences que ce soit (corrigez-moi si je me trompe).
source d'informationauteur pablitar
Vous devez vous connecter pour publier un commentaire.
oui, vous pouvez utiliser libstagefright, c'est très puissant.
Depuis stagefright n'est pas exposé à NDK, de sorte que vous aurez à faire un travail supplémentaire.
Il y a deux façons:
(1) construire votre projet à l'aide d'android arborescence complète du code source. De cette manière prend quelques jours de l'installation, une fois prêt, il est très facile, et vous pouvez profiter pleinement de stagefright.
(2) il vous suffit de copier le fichier include pour votre projet, il est à l'intérieur de ce dossier:
android 4.0.4_r1.1/frameworks/base/include/media/stagefright
ensuite, vous devrez exporter une fonction de la bibliothèque par le chargement dynamique de libstagefright.de la sorte, et vous pouvez lier avec votre jni projet.
Pour encoder/décoder à l'aide de statgefright, c'est très simple, à quelques centaines de lignes peut se faire.
J'ai utilisé stagefright de capturer des captures d'écran pour créer une vidéo, qui sera disponible dans nos Android VNC server, à paraître prochainement.
ce qui suit est un extrait de code, je pense que c'est mieux que d'utiliser ffmpeg pour encoder un film. Vous pouvez ajouter la source audio.