2013-07-26 32 views
11

Tôi không biết điều này xảy ra như thế nào và tôi không thể thấy bất kỳ lỗi nào. Tôi dường như không thể điều hướng qua video lần thứ hai tôi mở trang của mình.Lỗi lạ trên Videojs

Xem ảnh chụp màn hình ở đây: enter image description here

tôi đã tìm thấy lỗi này nó nói,

TypeError: Floating-point value is not finite. 
"Video is not ready. (Video.js)" 

Trợ giúp sẽ được thực sự đánh giá cao.

Cảm ơn

+1

Hi Shiro, Hơi vụng về của nó để hiểu vấn đề của bạn! bạn vui lòng giải thích! Những gì bạn cần và vấn đề chính xác là gì? – pixelbyaj

+4

[Ở đây] (https://github.com/videojs/video.js/blob/master/src/js/media/html5.js#L165) là vấn đề. Có thể bạn đang cung cấp API video.js với thông số không đúng (mà tôi không thể nói chắc chắn vì bạn không cung cấp bất kỳ mã nguồn nào). Kiểm tra chữ ký phương thức của bạn và thử lại. – Brian

+2

Tôi nghi ngờ Brian là chính xác, nhưng nếu bạn vẫn gặp khó khăn sau khi xin vui lòng gửi một ví dụ trực tiếp trên jsfiddle.net hoặc jsbin.com, và tôi sẽ xem xét. – iX3

Trả lời

0

Bạn đang sử dụng Máy chủ để thực thi hoặc bạn đang chạy nó cục bộ. Bởi vì tôi có một số vấn đề tương tự khi tôi chạy nó cục bộ. Nhưng khi tôi đặt các tập tin trong một số máy chủ như tomcat hoặc iis hoặc bất cứ máy chủ nó làm việc. Bạn không chắc chắn về vấn đề này chỉ là phỏng đoán

1

Khi bạn nói "Tôi dường như không thể điều hướng qua video lần thứ hai tôi mở trang của mình"? Bạn có nghĩa là bạn không thể phát video ở tất cả hoặc bạn không thể tua đi và tua lại trong video phát?

Bạn đang gặp lỗi Type Error: Floating-point value is not finite có nghĩa là một thông số nhất định bạn đang cung cấp cho video.js thuộc loại sai. I E. bạn probaby cung cấp video.js với một chuỗi khi nó muốn một số nguyên (hoặc một cái gì đó tương tự).

Vì ứng dụng này hoạt động lần đầu tiên bạn tải trang, bạn có đang cố tiếp tục phát lại ở nơi bạn đã dừng lại khi bạn điều hướng khỏi trang không?

Nếu đó là trường hợp bạn có lẽ lưu trữ các tham số currentTime trong một giá trị cookie hoặc localStorage như là một chuỗi (sử dụng cookie jQuery ví dụ này thường được automaticalyl chuyển đổi thành chuỗi) và quên để chuyển đổi nó trở lại một int khi bạn cần video. js để đọc lại cho bạn. Bởi vì những gì tôi nhận thấy về ảnh chụp màn hình của bạn là có vẻ như Video.js không biết thời gian của video của bạn (tức là thời gian tìm kiếm nói 0:31/0:00)

Đây là những gì bạn nên làm:

rõ ràng bạn nhớ cache để có được một cầu thủ lần đầu tiên tải làm việc thì:

trước khi bắt đầu chơi trở lại, sau khi nghe xong, và trong quá trình phát lại, bạn nên đăng nhập lần chữ ký phát hiện, ví dụ: console.log(videojs("id-of-your-video").currentTime())

Thêm thời gian chữ ký console.logs() các cuộc gọi lại sự kiện video.js này sẽ giúp bạn:

  • durationchange (bị sa thải nếu tổng thời gian thay đổi video của bạn)
  • duration (nói với bạn trong suốt thời gian của video. Hãy thử ghi lại điều này trong khi nó hoạt động trở lại sau khi nó ngừng hoạt động và xem những gì đã thay đổi trong giá trị)
  • Nếu bạn vẫn gặp sự cố khi thử ghi lại giá trị bằng cách sử dụng video js timeupdate gọi lại. Sự kiện này được gọi khi vị trí phát lại hiện tại đã thay đổi (có thể nhiều lần trong một giây). Nếu mọi thứ khác thất bại, việc gọi lại này có thể cung cấp cho bạn một số thông tin chi tiết về thời điểm chính xác mà bạn nhận được giá trị loại không hợp lệ, nhưng nó sẽ không giúp bạn nếu bạn đang gặp sự cố với việc tiếp tục phát lại từ giá trị .currentTime() loại được lưu trữ trong người dùng cookie/sessionStorage/localStorage v.v.