【问题标题】:Android ProgressBar setProgress() update causes frame drops in Camera PreviewAndroid ProgressBar setProgress() 更新导致相机预览中的帧丢失
【发布时间】:2023-03-03 09:33:01
【问题描述】:

我的布局由顶部的相机预览和下方的进度条组成。

进度条负责更新 MediaPlayer 的进度。 我正在使用处理程序来实现这一点,问题是当我启动媒体播放器时,进度条更新会导致相机预览出现一些丢帧。

我需要保持相同的帧速率,最初约为 30 fps。

处理程序代码:

protected Handler mHandler = new Handler() {
    Runnable runnable = new Runnable() {
        @Override
        public void run() {
            // waveprogress is the ProgressBar
            waveProgress.setProgress((mMediaPlayer.getCurrentPosition() * 100) / mMediaPlayer.getDuration());
        }
    };
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case SHOW_PROGRESS:
                waveProgress.post(runnable);
                sendMessageDelayed(obtainMessage(SHOW_PROGRESS), 350);
                break;
        }
    }
};

【问题讨论】:

    标签: android performance android-handler


    【解决方案1】:

    您是否已经尝试使用 Camera.PreviewCallback 并只是更新您的进度条?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多