Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your help!

We need 7 developers from Canada and 18 more from Australia to help us complete a research survey.

Support our site by taking a quick sponsored survey and win a chance at a $50 Amazon gift card. Click here to get started!

[LIBGDX] Using the LZMA decompress class

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 philipborg   Members   -  Reputation: 335


Posted 07 November 2012 - 02:09 PM

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 here 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, 07 November 2012 - 02:10 PM.


#2 kd7tck   Members   -  Reputation: 719


Posted 08 November 2012 - 04:16 PM

Use libphysfs, that will automate this task for you.

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, 08 November 2012 - 06:00 PM.

#3 philipborg   Members   -  Reputation: 335


Posted 09 November 2012 - 01:23 PM

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.

#4 kd7tck   Members   -  Reputation: 719


Posted 09 November 2012 - 02:19 PM

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. Try this link. Or this one.

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.

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.