사례 1 : 그래서 여기GlSurfaceView setZMediaOrder의 원인이 비디오는 부모 이외의 재생
GLSurfaceView | FrameLayout | TextureView | VideoRecording
내가 그 위에 사각형 FrameLayout
를 사용자의 입력에 따라 GLSurfaceView
추가하고있다 (치수 설정 layoutparams를 사용하여) 새로 추가 된 FrameLayout
의 상단에 TextureView
을 추가 한 다음 비디오를 녹화합니다. 예상대로 카메라 선택에 관계없이 정사각형 미리보기가 나타납니다.
대소 2 : 케이스 (1)
GLSurfaceView | FrameLayout | GLSurfaceView | VideoPlayback
이미부터 TextureView
제거하여 I 다른 GLSurfaceView
첨가하고 비디오를 기록 후 FrameLayout
첨가. 이전, 난 그냥 모든 비디오없이 재생의 소리를들을 수 있지만, 나중에 내가 setZOrderMediaOverlay(true);
또는 setZOrderOnTop(true)
을 사용하고있는 예를 건너 왔어요 이제 9 년 재생, 대신 부모 내에서 재생 비디오 재생,/16 종횡비. 앞서 언급했듯이 예상 동작은 정사각형 비디오 (FrameLayout의 크기)입니다.
새로 추가 된 비디오를 부모님의 경계를 벗어나지 않고 어떻게 배경 비디오 위에 가져올 수 있습니까?
MediaPlayer.OnVideoSizeChangedListener mOnVideoSizeChangedListener = new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
setAspectRatio(mp, width, height);
}
};
그리고 방법을 생성하고 설정합니다
죄송합니다. 표면의 크기를 조정하는 데 대한 질문이 아닙니다. –