2016-07-05 94 views
0

我有一個對話框,我把一個表面用於MediaCodec實例播放視頻。玩之前表面透明

當我加載這個對話框時,表面顯示透明幾秒鐘,直到媒體編解碼器準備就緒並且視頻播放正常。由於這是一個對話框,因此透明表面顯示下面的活動,而不是黑色背景。

因爲我不能拿着畫布來畫它,因爲這會阻止mediacodec訪問它,我該如何解決這個問題?

回答

0

難道你不能只在對話框父佈局中定義黑色背景嗎?

這樣即使表面是透明的下面的對話框不會

編輯1:

這使得從表面上看透明,也許嘗試發揮它:

SurfaceView sfvTrack = (SurfaceView)findViewById(R.id.sfvTrack); 
sfvTrack.setZOrderOnTop(true); // necessary 
SurfaceHolder sfhTrackHolder = sfvTrack.getHolder(); 
sfhTrackHolder.setFormat(PixelFormat.TRANSPARENT); 

從這個職位:how to make surfaceview transparent

+0

我確實有背景,但即使如此由於某種原因,當視頻加載時,我看到下面的活動 – MichelReap

+0

你可以發佈你的完整佈局xml嗎? –

+0

我已經讀了一下,顯然Surface已經放在了當前組件的底部,所以無論我放在哪裏的背景都是對話框,我總是會在它下面有我的表面: – MichelReap