2012-09-11 64 views
6

Trong im chương trình của tôi cố gắng để có video trên toàn màn hình nhưng không có tỉ lệ nghỉ của video chơi,video toàn màn hình mà không phá vỡ Aspect Ratio

trong máy nghe nhạc mặc định android nó có nút ở góc trên bên trái khi bạn nhấn nó nó chuyển video sang xem đầy đủ mà không bị méo video mà duy trì tỷ lệ khía cạnh:

như hình dưới đây:

enter image description here

im cố gắng để có được video toàn màn hình với đoạn mã sau:

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 
    <VideoView android:id="@+id/myvideoview" 
     android:layout_width="fill_parent" 
     android:layout_alignParentRight="true" 
      android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
      android:layout_alignParentBottom="true" 
     android:layout_height="fill_parent"> 
     </VideoView> 
    </RelativeLayout> 

này đang dẫn ở trên để video đầy đủ màn hình NHƯNG mà không duy trì Ratio Aspest

xin vui lòng có thể bất kỳ lời khuyên cơ thể tôi làm thế nào để có được video toàn màn hình mà không có Break Aspect Ratio.

Video của tôi được lưu trữ trong thư mục thô của thư mục Tài nguyên ứng dụng.

vui lòng cung cấp mã làm việc đầy đủ.

tôi đã tìm kiếm rất nhiều ở đây và trong google nhưng tôi không thể tìm thấy mục tiêu của tôi,

khác bài tìm thấy ở đây trong stackoverflow với cùng một câu hỏi nhưng không có câu trả lời đúng trong liên kết này:

Full screen videoview without stretching the video.

im sử dụng videoview để hiển thị video của tôi trong App của tôi như sau:

public class Video extends Activity { 
    private VideoView videoview;  
     @Override 
     public void onCreate(Bundle icicle) { 
       super.onCreate(icicle);  
       setContentView(R.layout.main); 
    videoview = (VideoView) findViewById(R.id.count_videoview); 
    videoview.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
      +"/"+R.raw.first_video));  
    videoview.setMediaController(new MediaController(this));  
    videoview.requestFocus();  
    videoview.start(); 
       } 
      } 

Cảm ơn trước.

+0

Thêm liên kết vào [câu hỏi tương tự] (http://stackoverflow.com/questions/12211837/full-screen-videoview-without-stretching-the-video#comment16405010_12211837), Lưu ý rằng câu trả lời có tặng thưởng trong liên kết đó không ' t làm việc. – yorkw

+0

@yorkw liên kết được thêm vào và đăng cập nhật, vui lòng giải quyết, nhờ – androidqq6

+0

Kiểm tra câu trả lời từ đây: http://stackoverflow.com/questions/8240051/android-mediaplayer-video-aspect-ratio-issue – execomrt

Trả lời

0

Lấy chiều cao và chiều rộng của video gốc.
Lấy chiều cao và chiều rộng của màn hình (theo hướng hiện tại).

float ratioWidth = screenWidth/videoWidth; 
float ratioHeight = screenHeight/videoHeight; 
float fullWidth; 
float fullHeight; 
if (ratioWidth < ratioHeight) { 
    fullWidth = videoWidth * ratioWidth; 
    fullHeight = videoHeight * ratioWidth; 
} else { 
    fullWidth = videoWidth * ratioHeight; 
    fullHeight = videoHeight * ratioHeight; 
} 

Set fullWidthfullHeight đến VideoView.

+0

vui lòng cung cấp mã làm việc đầy đủ, im sử dụng lớp videoview để hiển thị video trên ứng dụng của tôi, không phải chuyên gia trong android, cảm ơn – androidqq6

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