Bonjour,
Je suis en train de générer un fichier AVI à partir de JPEG. Pour cela je créer un entête avec des données fake (contentLength = 0 ...), j'écris les données (mes images) et je mets à jours l'entête.
Je voudrais s'il y a une méthode permettant de remplacer les données de l'entête, donc en début de fichier.
Le code que je reprends pour effectuer cette opération utilise la classe RandomAccessFile. Mais dans mon code, je n'ai jamais accès à un objet de type File (c'est de l'android), seulement à FileOutputStream et à partir de cette classe, FileChannel. J'ai essayé la méthode FileChannel.write(ByteBuffer b, long position), mais j'ai l'impression quelle insert les données plutôt qu'écraser le fake entête. Est-ce que je me trompe ?
Voilà ma question : existe-t-il un moyen plus efficace que utiliser un fichier intermédiaire pour effectuer l'opération suivante :
FH FH FH FH FH => RH RH RH RH RH
DDDDDDDDDDDD => DDDDDDDDDDDD
DDDDDDDDDDDD => DDDDDDDDDDDD
avec FH = Fake Header, RH = Real Header et D = Data
Sachant que je suis en android et que la mémoire et le CPU sont limités
Partager