找茬小王子 2023-12-05 11:28 采纳率: 50%
浏览 1
已结题

安卓代码如何接收执行shell命令输出的视频流并实时播放

adb shell执行这个命令v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat='YUYV' --stream-mmap=3 --stream-skip=4 --stream-to=/sdcard/1698663941095_yuyv.yuv --stream-count=1 --stream-poll会输出一个视频流,如何在安卓java代码里面执行这个命令接收这个视频流并实时播放出来

  • 写回答

2条回答 默认 最新

  • Direct_Yang 2023-12-05 13:12
    关注
    
    import android.os.Bundle;
    import android.widget.VideoView;
    import android.widget.MediaController;
    import android.app.Activity;
    import java.io.IOException;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // 执行adb shell命令
            try {
                Process process = Runtime.getRuntime().exec("adb shell v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat='YUYV' --stream-mmap=3 --stream-skip=4 --stream-count=1 --stream-poll");
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            // 播放视频流
            VideoView videoView = findViewById(R.id.videoView);
            videoView.setVideoPath("/sdcard/1698663941095_yuyv.yuv");
            MediaController mediaController = new MediaController(this);
            mediaController.setAnchorView(videoView);
            videoView.setMediaController(mediaController);
            videoView.start();
        }
    }
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月5日
  • 创建了问题 12月5日

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改