2017-06-29 7 views
0

私はスクリーンショットからビデオを作り出しています。私はチャットをやりました。SequenceEncoder encodeImageはエラーを返します

ここで私のエンコーダを初期化しました。

String filename = "video.mp4"; 
File file = new File(getFilesDir(), filename); 
enc = new SequenceEncoder(file); 

これはスクリーンショットを取得します。

public Bitmap getScreenShot() { 
    View screenView = findViewById(R.id.rootLayout); 
    screenView.setDrawingCacheEnabled(true); 
    //Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache()); 
    Bitmap bitmap = screenView.getDrawingCache(); 
    screenView.setDrawingCacheEnabled(false); 
    return bitmap; 
} 

これはどのように画像を符号化しましたか。例外を返します。

enc.encodeImage(getScreenShot()); 

のjava.lang.NullPointerException:nullのオブジェクト参照上の仮想メソッドを呼び出すための試み 'int型org.jcodec.common.model.Picture.getWidth()'

+0

'getScreenShot()'がヌルではなく有効なイメージを返すかどうかテストしますか? –

答えて

0

問題は、私が尋ねたということでした間違った時間に私のレイアウトのスクリーンショットが表示されるので、getScreenShot()はnullビットマップを返します。

onCreateの代わりにonWindowFocusChangedを呼び出して解決しました。

関連する問題