繁体   English   中英

android屏幕捕获

[英]android Screen Capture

我想将视频屏幕捕获为来自android.videoview中的图像。下面给出了我的代码。它创建了图像,但是该图像在sdcard中仅包含黑屏。如何在播放时将videoview捕获为图像。

public class VidePlayerActivity extends Activity {
/** Called when the activity is first created. */
public String fname;
public int n=1;
LinearLayout screen;
Timer timer;
Bitmap bmScreen;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main2);
    Button sr=(Button)findViewById(R.id.screenrec);
    screen=(LinearLayout)findViewById(R.id.screen);
    VideoView videoView=(VideoView)findViewById(R.id.videoView1);
    videoView.setVideoPath("sdcard/test.mp4");
    MediaController mediaController=new MediaController(this);
    videoView.setMediaController(mediaController);
    sr.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
                    screen.setDrawingCacheEnabled(true);
                    bmScreen = screen.getDrawingCache();
                    saveImage(bmScreen);
        }
    });
    }
 protected void saveImage(Bitmap bmpscreen3) {

        //Toast.makeText(ScreenCaptureActivity.this, "saved", Toast.LENGTH_SHORT).show();
        File myDir=new File("/sdcard/Video_images");
          myDir.mkdirs();

           fname = "img"+ n +".jpg";
          File file = new File (myDir, fname);

        try {
            FileOutputStream ostream = new FileOutputStream(file);
            bmpscreen3.compress(CompressFormat.JPEG, 100, ostream);
            ostream.flush();
            ostream.close();
        } catch (Exception e) {
            e.printStackTrace();

        }
    }
}

类似的东西已经发布到stackoverflow上,请查看下面的内容可能会对您有所帮助。

Android中的屏幕截图

这里也是一个:

移动设备上的程序化屏幕截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM