Sign in to follow this  

[LIBGDX] Using the LZMA decompress class

This topic is 1895 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone!
I am using libgdx for a project and I want to use an LZMA compression to store some sound files (around 500 probably). I found that my library LIBGDX has a built in class for handling it found [url="http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/utils/compression/Lzma.html"]here[/url] but there are no examples how to use it to import sound for example or anything from an internal LZMA file. I would highly enjoy an example or an description on how to use for me and everyone else that find them self in the need of it. Edited by philipborg

Share this post


Link to post
Share on other sites
Use libphysfs, that will automate this task for you.

edit...
Just found out this was for java.

Why would you need an example for such a simple interface. You have input stream and output stream, thats it.
Once you figure out how streams can be opened and closed this should be a simple matter of filling in the gaps with common logic.

com.badlogic.gdx.utils.compression.Lzma.decompress(new FileInputStream(),new FileOutputStream());

As far as examples for using it to directly load the unzipped files into memory, you should do research into loading binary files using filestreams.

So here are the steps:
1)decompress files to temp directory
2)load binary data into memory or obtain file pointer for streaming the audio
3)load file pointer or data into audio decoder and play it.


Most of these tasks can be done using common java libs, you don't have to use libgdx for everything. Edited by kd7tck

Share this post


Link to post
Share on other sites
Thank you for your answer even tho if it does not solve my problem. My problem lays in loading the lzma into the memory as an stream but never mind, I will try to solve it myself.

Share this post


Link to post
Share on other sites
What do you mean by loading lzma into memory as a stream. Do you mean loading the zip file into memory or the lzma library. I assumed based on your wording above that you meant using the lzma functions within the program. Guess I missunderstood you.

To load the zip file you will need to load a file into memory, this is done by reading the file into a file stream or bytestream. This topic is covered in most java 101 tutorials, I would recomend that you spend a couple weeks going through java tutorials and picking this kind of stuff up.

A google would have given you the tutorial or sample code online on how to load files into memory. [url="http://www.mkyong.com/java/how-to-read-file-in-java-fileinputstream/"]Try this link[/url]. [url="http://www.javapractices.com/topic/TopicAction.do?Id=245"]Or this one[/url].

I feel this was a result of poor communication, sometimes I misinterpret and don't actually answer the question. If this ever happens again with anyone else here just rephrase your initial question more clearly.

Share this post


Link to post
Share on other sites
Sign in to follow this