Wie video konvertieren base64-Daten
Habe ich eine app, die Videos von der Kamera oder Galerie und konvertieren Sie Sie in base64-Daten und das senden von Daten zum server, aber das problem ist immer wenn ich konvertiert die base64-Daten es werden nicht die richtigen Daten in Videodaten variabler. dafür habe ich folgenden code :
FileInputStream objFileIS = null;
try
{
System.out.println("file = >>>> <<<<<" + selectedImagePath);
objFileIS = new FileInputStream(selectedImagePath);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
ByteArrayOutputStream objByteArrayOS = new ByteArrayOutputStream();
byte[] byteBufferString = new byte[1024];
try
{
for (int readNum; (readNum = objFileIS.read(byteBufferString)) != -1;)
{
objByteArrayOS.write(byteBufferString, 0, readNum);
System.out.println("read " + readNum + " bytes,");
}
}
catch (IOException e)
{
e.printStackTrace();
}
videodata = Base64.encodeToString(byteBufferString, Base64.DEFAULT);
Log.d("VideoData**> " , videodata);
Bitte machen Sie es richtig...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Codieren, wenn Sie die
byteBufferString
Sie sind-Codierung nur das Letzte Stück ab der die Daten gelesen. Sollten Sie codieren Sie den gesamten Inhalt derByteArrayOutputStream
. Sie können dies mit dem folgenden code:Jedoch, gibt es eine chance, dass diese wirft vielleicht eine
OutOfMemoryError
wenn das video groß ist.Ich es lösen wie diese:
Videodaten hat die base64-von dem video.. ich hoffe, Ihnen zu dienen, arbeitete ich perfekt
OutOfMemoryError
Recht Häufig als video-Größe wächst.