user1758835
user1758835

Reputation: 215

How to Create android supported video file (e.g. mp4) using InputStream object in Android

In my Android app I'm downloading Video file using Quickblox API, on successful download I'm getting file content in the form of InputStream object now, using that InputStream object I wants to create android supported Video file and stored it on to the SDCard but I don't know how to create Video file using InputStream object. Please see the following code where I'm getting InputStream object.

 QBContent.downloadFileTask(fileId, new QBEntityCallbackImpl<InputStream>() 
    {
            @Override
            public void onSuccess(InputStream inputStreamObject, Bundle params)
            {
                // TODO Auto-generated method stub
                super.onSuccess(inputStreamObject, params);



            });
     }

Please help. Thank you..!

Upvotes: 0

Views: 2086

Answers (1)

Syeda Zunaira
Syeda Zunaira

Reputation: 5207

If the inputStreamObject is the content of an mp4 file, you could simply save the input stream to a file. That's your mp4 .

public static final String PREFIX = "myMusicfile";
    public static final String SUFFIX = ".mp4";

    public static File stream2file (InputStream in) throws IOException {
        final File tempFile = File.createTempFile(PREFIX, SUFFIX);
        tempFile.deleteOnExit();
        try (FileOutputStream out = new FileOutputStream(tempFile)) {
            IOUtils.copy(in, out);
        }
        return tempFile;
    }

Hope it help :) Thanks

Upvotes: 2

Related Questions