2012-01-05 54 views
0

我是新來的android平臺和抱歉提出一些可能是愚蠢的問題。 最初的想法是一次播放一個視頻剪輯並從相機錄製視頻。 我的主要活動是執行SurfaceHolder.Callback來顯示相機視圖。我已設法將視圖縮小到屏幕的一半,以便我的左半部分屏幕是來自相機的視頻。 然後我使用videoview來播放屏幕右側的預存視頻。它根本不起作用(相框回放很好)。 任何人都能讓我有點欣喜嗎?如何顯示相機視圖和一次播放videoview

@Override 
    public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

    setContentView(R.layout.main); 
    getWindow().setFormat(PixelFormat.UNKNOWN); 

    videoview = (VideoView)findViewById(R.id.videoView1); 
    videouri = Uri.parse("android.resource:://com.demoxing1/"+R.raw.sample_video); 

    surfaceView = (SurfaceView) findViewById(R.id.camera_preview); 
    surfaceHolder = surfaceView.getHolder(); 
    surfaceHolder.addCallback(this); 
    surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 

    videoview.start(); 

} 

@Override 
public void surfaceChanged(SurfaceHolder holder, int format, int width, 
     int height) { 

    if (previewing) { 
     camera.stopPreview(); 
     previewing = false; 

    } 

    if (camera != null) { 

     try { 
      camera.setPreviewDisplay(surfaceHolder); 
      camera.startPreview(); 
      previewing = true; 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 

} 

@Override 
public void surfaceCreated(SurfaceHolder holder) { 
    camera = Camera.open(); 
} 

@Override 
public void surfaceDestroyed(SurfaceHolder holder) { 

    camera.stopPreview(); 
    camera.release(); 
    camera = null; 
    previewing = false; 

} 



<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" android:layout_height="match_parent"> 
    <android.view.SurfaceView android:id="@+id/camera_preview"  android:layout_height="wrap_content" android:layout_width="300dp"> </android.view.SurfaceView> 
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical" android:weightSum="1"> 
    <VideoView android:id="@+id/videoView1" android:layout_width="match_parent" android:layout_height="wrap_content"></VideoView> 
</LinearLayout> 

對不起,我是從我的電腦,我已經連接的代碼。任何幫助深表感謝!!謝謝!!

+3

沒有代碼沒有人可以幫助你:D – poitroae 2012-01-05 17:16:29

+0

任何人都可以幫忙嗎?非常感謝!! – 2012-01-09 14:37:38

+0

這是什麼意思? – JoxTraex 2012-01-17 07:04:51

回答

1

嘿,我也不是非常有經驗的android開發,但從我已經瞭解到,相機和視頻播放器無法在GUI線程中同時運行。我的建議是嘗試在不同的線程中運行它們。

+0

你能舉一些例子嗎? – 2017-01-30 10:32:44