我想做视频压缩.
实际上在我的应用程序中我想有两个选项,一个是低,另一个是高.如果我选择低选项,则应用程序将压缩视频然后上传.如果我选择高,那么它将上传我自己录制的原始视频.
我想在我的应用程序中做这件事,我很困惑.我已经搜索了很多谷歌,但我无法找到解决这个问题的有用方法,如果有人可以帮助我的话.
我遇到了与此处描述的问题相同的问题,但我将提供更多详细信息.在尝试在Android上传视频时,我正在将其读入内存,如果视频很大,我会收到OutOfMemoryError.
这是我的代码:
// get bytestream to upload
videoByteArray = getBytesFromFile(cR, fileUriString);
public static byte[] getBytesFromFile(ContentResolver cR, String fileUriString) throws IOException {
Uri tempuri = Uri.parse(fileUriString);
InputStream is = cR.openInputStream(tempuri);
byte[] b3 = readBytes(is);
is.close();
return b3;
}
public static byte[] readBytes(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
// this is storage overwritten on each iteration with bytes
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int len = 0;
while ((len = inputStream.read(buffer)) != …Run Code Online (Sandbox Code Playgroud)