Lesen einer Ressource sound-Datei in ein Byte-array
Habe ich cheerapp.wav
oder cheerapp.mp3
oder ein anderes format.
InputStream in = context.getResources().openRawResource(R.raw.cheerapp);
BufferedInputStream bis = new BufferedInputStream(in, 8000);
//Create a DataInputStream to read the audio data from the saved file
DataInputStream dis = new DataInputStream(bis);
byte[] music = null;
music = new byte[??];
int i = 0; //Read the file into the "music" array
while (dis.available() > 0) {
//dis.read(music[i]); //This assignment does not reverse the order
music[i]=dis.readByte();
i++;
}
dis.close();
Für die music
byte-array, das die Daten aus der DataInputStream
. Ich weiß nicht, was die Länge, die Sie reservieren müssen.
Dies ist eine raw-Datei aus der Ressource nicht um eine Datei, daher würde ich nicht wissen, wie groß das Ding.
Prüfen mit Apache-Commons.
InformationsquelleAutor jason white | 2013-02-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie byte-array der Länge wie Sie sehen können:
Und dann liest man den ganzen Stream in das byte-array einfach.
Natürlich würde ich empfehlen, dass Sie überprüfen, wenn es um die Größe und Nutzung ByteArrayOutputStream mit kleineren byte[] der Puffer, wenn benötigt:
Wenn Sie machen werden viele IO-Operationen, die ich empfehlen, dass Sie den Einsatz von org.apache.Unterhaus.io.IOUtils. So brauchen Sie sich nicht zu viel sorgen über die Qualität Ihrer IO-Implementierung und einmal importieren Sie das JAR in Ihrem Projekt würden Sie gerade tun:
InformationsquelleAutor kape123
Hoffe, es wird helfen.
Erstellen Sie eine sdcard Pfad:
Konvertieren als eine Datei und rufen Sie die byte-array-Methode:
Methode:
InformationsquelleAutor Mahendran Candy