ScreenUtils

public class ScreenUtils {

/**
 * 获得屏幕高度
 *
 * @param context
 * @return
 */
public static int getScreenWidth(Context context) {
    WindowManager wm = (WindowManager) context
            .getSystemService(Context.WINDOW_SERVICE);
    DisplayMetrics outMetrics = new DisplayMetrics();
    wm.getDefaultDisplay().getMetrics(outMetrics);
    return outMetrics.widthPixels;
}

/**
 * 获得屏幕宽度
 *
 * @param context
 * @return
 */
public static int getScreenHeight(Context context) {
    WindowManager wm = (WindowManager) context
            .getSystemService(Context.WINDOW_SERVICE);
    DisplayMetrics outMetrics = new DisplayMetrics();
    wm.getDefaultDisplay().getMetrics(outMetrics);
    return outMetrics.heightPixels;
}

/**
 * 获得状态栏的高度
 *
 * @param context
 * @return
 */
public static int getStatusHeight(Context context) {

    int statusHeight = -1;
    try {
        Class<?> clazz = Class.forName("com.android.internal.R$dimen");
        Object object = clazz.newInstance();
        int height = Integer.parseInt(clazz.getField("status_bar_height")
                .get(object).toString());
        statusHeight = context.getResources().getDimensionPixelSize(height);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return statusHeight;
}

/**
 * 获取当前屏幕截图,包含状态栏
 *
 * @param activity
 * @return
 */
public static Bitmap snapShotWithStatusBar(Activity activity) {
    View view = activity.getWindow().getDecorView();
    view.setDrawingCacheEnabled(true);
    view.buildDrawingCache();
    Bitmap bmp = view.getDrawingCache();
    int width = getScreenWidth(activity);
    int height = getScreenHeight(activity);
    Bitmap bp = null;
    bp = Bitmap.createBitmap(bmp, 0, 0, width, height);
    view.destroyDrawingCache();
    return bp;

}

/**
 * 获取当前屏幕截图,不包含状态栏
 *
 * @param activity
 * @return
 */
public static Bitmap snapShotWithoutStatusBar(Activity activity) {
    View view = activity.getWindow().getDecorView();
    view.setDrawingCacheEnabled(true);
    view.buildDrawingCache();
    Bitmap bmp = view.getDrawingCache();
    Rect frame = new Rect();
    activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
    int statusBarHeight = frame.top;

    int width = getScreenWidth(activity);
    int height = getScreenHeight(activity);
    Bitmap bp = null;
    bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height
            - statusBarHeight);
    view.destroyDrawingCache();
    return bp;

}

}

override fun onCreating(savedInstanceState: Bundle?) { ensureSetNativeContentView() super.onCreating(savedInstanceState) // 开启数据流监听 CommunicateDelegate.get(this).open() // 添加前后台监听 AppUtils.registerAppStatusChangedListener(this) // 设置全屏模式和滑动显示状态栏 setupFullScreenMode() // 初始化界面 if (hasImageTrans && enableExternalPlayer) { // 有图传设备,且使用外部播放器的情况下,才使用悬浮窗 setBackground(null) // 界面嵌入悬浮窗中 uiDelegates.forEach { jobWindows.add(JobWindow(it)) } jobWindows.forEach { it.show() } // 跳转外部播放器 AppUtils.launchApp(Constants.siYiPkg) } else { // 直接嵌入Fragment } println("初始化播放器-----") uiDelegates.forEach { it.onAttach(binding.root) } // 初始化FPVue播放器 // initVuePlayer() // 播放图传推流 playStream(binding.videoPlayer,"rtsp://192.168.144.2:8554/main.264") playStream(binding.videoPlayer2,"rtsp://192.168.144.5:8554/main.264") } /** * 播放图传推流 * @param playView 播放器 */ private fun playStream(playView: StandardGSYVideoPlayer, url: String) { // 改变高度 timerTask { binding.thumb.layoutParams.height = ScreenUtils.getScreenHeight() + UtilX.getStatusBarHeight() * 2 binding.root.layoutParams.height = ScreenUtils.getScreenHeight() playView.thumbImageView = binding.thumb playView.setVideoAllCallBack(object : GSYSampleCallBack() { override fun onPrepared(url: String?, vararg objects: Any?) { super.onPrepared(url, *objects) findViewById<View>(R.id.thumb).visibility = View.GONE } }) playView.setUp(url, true, "Video") playView.setIsTouchWiget(false) playView.setIsTouchWigetFull(false) playView.setBottomProgressBarDrawable(null) // 有图传设备才播放 // if (hasImageTrans) playView.startPlayLogic() } }修改代码,使视频可以同时播放2个,现在只能播放1个,另一个视频会暂停
05-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值