2012-01-05 5 views
0

私はアンドロイドプラットフォームが新しく、愚かかもしれないいくつかの質問をして申し訳ありません。 元のアイデアは、ビデオクリップを再生し、一度にカメラからビデオを録画することです。 私の主な活動は、SurfaceHolder.Callbackにカメラビューを表示することです。私は画面の半分がカメラからのビデオであるように画面の半分にビューをダウンサイジングすることができました。 次に、私は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

+0

誰も助けることができますか?どうもありがとう!! –

+0

これのポイントは何ですか? – JoxTraex

答えて

1

でも、私はAndroidの開発にはあまり経験がありませんが、カメラとビデオプレーヤーの両方がGUIスレッドで同時に動作することはできません。私の提案は、別のスレッドでそれらを試して実行することです。

+0

いくつかの例がありますか? –

関連する問題