2011-11-30 31 views
7

Tôi hiện đang phát triển Ứng dụng dành riêng cho các thiết bị GoogleTV của Android nơi sử dụng hoặc buộc hướng của ứng dụng tới bất kỳ nội dung nào khác ngoài cảnh quan không được bật và sẽ không được bật trong tương lai từ những gì tôi có hình, trong thực tế các ứng dụng chỉ đơn giản là treo khi cố gắng chạy setRequestedOrientation();Quay videobuffer thực tại Videoview

Videoviews kế thừa các thuộc tính vị trí từ chế độ xem bình thường, Stuff như SetX, SetY và cụ thể là SetRotation.

Bạn có thể đặt xoay của videoview thành 90 độ, nhưng bộ đệm video thực tế sẽ KHÔNG xoay. Tôi đã thử mọi thứ từ việc sử dụng trình phát phương tiện cũ>surfaceview.getHolder().lockcanvas().rotate(degrees) theo mọi cách có thể tưởng tượng được, để ghi đè phương thức của videoview tùy chỉnh mở rộng lớp bình thường, không ai trong số đó có thể hoạt động thành công.

Tóm lại, Làm cách nào để xoay video ACTUAL trong videoview mà không thay đổi hướng của thiết bị? nếu bạn có một ví dụ làm việc của một videoview xoay với nội dung của nó cũng xoay xin vui lòng giải thích làm thế nào bạn có nó làm việc.

Xin cảm ơn trước.

Tôi muốn bạn lưu ý rằng chúng tôi đang phát triển cho Android 3.1 và tất cả mọi thứ cho đến nay đều được mã hóa động, tất cả các lần xem và videoview được tạo thông qua mã, chỉ các Bố cục cụ thể mà chúng tôi sử dụng cho mục Z đã được xác định trong tệp layout.xml.

Trả lời

1

VideoView không hỗ trợ quay video ngay cả khi ma trận thành phần được đặt chính xác và thuộc tính xoay được sử dụng.

Việc bạn có thể làm là sử dụng TextureView và đặt xoay thuộc tính = "90" (ví dụ). Sau đó nó sẽ xoay các khung hình nhưng tỉ lệ khung hình là thứ bạn cần để xử lý bản thân. Để làm như vậy, bạn có thể sử dụng textTureView.setScaleX ((screenHeight * 1.0f)/screenWidth)

Xem chi tiết tại đây: Rotating an android VideoView

Các vấn đề liên quan