2011-11-30 2 views
7

현재 풍경이 아닌 다른 방향으로 앱을 사용하거나 강제 실행하지 않는 android의 GoogleTV 장치 용 앱을 개발 중입니다. 장래에 내가 가지고있는 것으로부터 활성화되지 않을 것입니다. 실제로, 실행하려고하면 앱이 충돌합니다. setRequestedOrientation();Videoview에서 실제 비디오 버퍼 회전하기

Videoviews는 일반보기에서 위치 속성을 상속합니다. 항목 수는 SetX, SetY, 즉 SetRotation입니다.

비디오 뷰의 회전을 90 도로 설정할 수 있지만 실제 비디오 버퍼는 회전하지 않습니다. 정상적인 클래스를 확장하는 사용자 정의 videoview의 onDraw 메서드를 덮어 쓰는 것보다 이전 mediaplayer>surfaceview.getHolder().lockcanvas().rotate(degrees)을 사용하여 모든 것을 시도해 보았습니다. 어떤 것도 성공적으로 작동하지 못했습니다.

간단히 말해, 기기의 방향을 변경하지 않고 비디오 뷰 내에서 실제 동영상을 회전하려면 어떻게해야합니까? 회전 된 비디오 뷰의 실제 예제가있는 경우 회전 된 비디오 뷰도 회전 시켰고 어떻게 작동하는지 설명하십시오.

미리 감사드립니다.

우리는 Android 3.1 용으로 개발 중이며 지금까지 모든 항목이 동적으로 코딩되었으며 모든 이미지 뷰 및 비디오 뷰는 코드를 통해 생성되며 Z 인덱싱 항목에 사용되는 특정 레이아웃 만 생성된다는 점에 유의하십시오. layout.xml 파일에 정의되었습니다.

답변

1

VideoView는 컴포지션 행렬이 올바르게 설정되고 회전 속성이 사용되는 경우에도 비디오의 회전을 지원하지 않습니다.

당신이 할 수있는 일은 TextureView를 사용하고 속성 회전 = "90"(예 :)을 설정하는 것입니다. 그런 다음 프레임을 회전하지만 가로 세로 비율은 자기를 처리하는 데 필요한 것입니다. 당신이 textTureView.setScaleX ((screenHeight * 1.0F)/screenWidth)를 사용할 수 있습니다이를 위해

자세한 내용은 여기에 있습니다 : Rotating an android VideoView

관련 문제