package com.yixia.camera.demo.ui.record.helper;
import com.google.gson.Gson;
import com.yixia.camera.demo.log.Logger;
import com.yixia.camera.demo.preference.PreferenceKeys;
import com.yixia.camera.demo.preference.PreferenceUtils;
import com.yixia.camera.util.FileUtils;
import com.yixia.camera.util.StringUtils;
import java.io.File;
import java.io.FileOutputStream;
/**
* 拍摄帮助类
*
* @author tangjun
*
*/
public class RecorderHelper {
/** 获取视频码率 */
public static int getVideoBitrate() {
// if (NetworkUtils.isWifiAvailable(VideoApplication.getContext()) || !PreferenceUtils.getBoolean(PreferenceKeys.VIDEO_BITRATE_3G_600K, PreferenceKeys.VIDEO_BITRATE_3G_600K_DEFAULT))
// return 1500;//MediaRecorder.VIDEO_BITRATE_MEDIUM;//WIFI下800码率
// else {
// return 800;//MediaRecorder.VIDEO_BITRATE_NORMAL;//3G、2G下600码率
// }
return 1500;
}
/** 获取最大拍摄时长,默认10秒 */
public static int getMaxDuration() {
return PreferenceUtils.getIntProcess(PreferenceKeys.VIDEO_TIME_LIMIT, PreferenceKeys.VIDEO_TIME_LIMIT_DEFAULT);
}
/**
* 清除账号权限拍摄时长
*/
public static void removeDuration() {
PreferenceUtils.remove(PreferenceKeys.VIDEO_TIME_LIMIT);
}
/** 讲对象实例化到磁盘 */
public static boolean saveObject(Object obj, String target) {
try {
if (StringUtils.isNotEmpty(target)) {
FileOutputStream out = new FileOutputStream(target);
Gson gson = new Gson();
out.write(gson.toJson(obj).getBytes());
out.flush();
out.close();
return true;
}
} catch (Exception e) {
Logger.e(e);
}
return false;
}
/** 从文件中反序列化对象 */
public static <T> T restoreObject(Class<T> cls, String target) {
try {
String sb = FileUtils.readFile(new File(target));
if (sb != null) {
String str = sb.toString();
Gson gson = new Gson();
T result = gson.fromJson(str.toString(), cls);
return result;
}
} catch (Exception e) {
Logger.e(e);
}
return null;
}
}