2012-04-28 36 views
5

Khi tôi sử dụng URL được nén trong mã PHP và trích xuất các video $video->width$video->height từ video đã tải lên của mình, tôi nhận lại các giá trị không khớp với bất kỳ thứ gì tôi đã thấy được liên kết với video Youtube của mình.Youtube oembed: Cách tính giá trị 'chiều rộng' và 'chiều cao'?

  • http://youtu.be/p7ftPYU2_0w

  • kích thước video gốc, như được tải lên Youtube: 640 x 336

  • oEmbed lợi nhuận: 480 x 270

  • tùy chọn nhúng nhỏ nhất khi chia sẻ từ giao diện người dùng của trang Youtube: 560 x 316

Có ai biết nơi oembed nhận các giá trị này không? Tại sao nó mặc định là 480? Có cách nào để có được thứ nguyên video thực sự hay ít nhất là tăng mặc định lên tới 640 x [proportional_height]?

Mục tiêu của tôi là giữ nguyên kích thước gốc của video (không co giãn) khi nhúng trên trang web của mình, mà không cần người dùng thực sự cần phải nhập lại kích thước video.

Trả lời

0

Bạn luôn có thể điều chỉnh việc sử dụng CSS.

0

Hãy thử một cái gì đó như thế này

<iframe title="YouTube video player" width="727" height="430" src='http://www.youtube.com/embed/p7ftPYU2_0w' frameborder="0"></iframe> 

Theo như tôi biết, không có cách nào nhận được chiều cao của video từ nhúng. Bạn có thể sử dụng jquery để có được chiều cao của người chơi khi tải trang và đi từ đó.

2

Youtube có thể tạo nội dung có thể cung cấp nội dung nhúng thay vì video gốc. Chiều rộng và chiều cao của nội dung được tạo có thể là 480 x 270. Vì vậy, api oEmbed có thể trả về giá trị này luôn. AFIK không có cách nào để lấy kích thước ban đầu của giá trị video từ phía api trừ khi hoặc cho đến khi nhà cung cấp cung cấp.

Bạn có thể thử điều chỉnh chiều rộng và kích thước của video với sự trợ giúp của jquery và css.

oEmbed spec nói maxwidthmaxheight thông số có thể được cung cấp khi yêu cầu api. Vì vậy, chúng tôi có thể hạn chế chiều rộng và chiều cao tối đa của video.

Hy vọng điều đó sẽ hữu ích!

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