2012-06-20 29 views
5

Tôi đang xây dựng ứng dụng Windows Forms trong VS 2010 giúp tăng hoặc giảm tốc độ phát lại video một cách mượt mà dựa trên tốc độ đầu vào của người dùng.Tốc độ tăng/giảm động của video trong cửa sổ ứng dụng biểu mẫu

Tôi đã thử một vài con đường ..

1.) Sử dụng lớp AudioVideoPlayback DirectX - Tôi đặt tốc độ của video, bằng cách thiết lập vị trí hiện tại của video, dựa trên một bộ đếm thời gian .. và tăng hoặc giảm giá trị đó dựa trên đầu vào của người dùng. Trong khi điều này làm việc trên máy tính của tôi, nó chậm rất nhiều trên máy tính mục tiêu thấp hơn của chúng tôi. Bất cứ ai có thể nghĩ ra một cách hiệu quả hơn để tăng/giảm tốc độ phát lại bằng cách sử dụng lớp này?

2.) Tôi đã cố gắng điều khiển Windows Media Player ActiveX, và cố gắng thiết lập tốc độ/vị trí tự động, nhưng điều này là vô cùng hoảng hốt và bị lag ngay cả trên máy tính phát triển của tôi

3.) Tôi đã thử Apple QuickTime Control 2.0 COM Component đi kèm với VS 2010, và nó cũng rất laggy.

4.) Tôi đang cố gắng để tìm ra cách để thiết lập tốc độ trên sự kiểm soát đối tượng Shockwave Flash, nhưng đã không nhận ra điều đó chưa

bất cứ ai có thể đề xuất những con đường khác để khám phá? Tôi chỉ cần có thể tăng/giảm tốc độ phát lại video mượt mà dựa trên đầu vào của người dùng mà không bị trễ. Tôi không quan tâm định dạng video cần phải có, tất cả các video có thể được chuyển đổi sang định dạng được yêu cầu.

Bất kỳ trợ giúp/ý tưởng nào sẽ được đánh giá cao.

Cảm ơn

+0

Bạn đã thử đề xuất này ở đây trong bài đăng SO này - http://stackoverflow.com/a/7383241/763026. Nó nói về việc thay đổi 'tốc độ phát lại ' –

+0

Tôi đã thử các ví dụ DirectShow.NET. Ví dụ cho phép bạn thay đổi tốc độ thậm chí không thay đổi tỷ lệ. –

Trả lời

0

Sau khi thử nhiều định dạng/thư viện và thành phần khác nhau, tôi thấy điều khiển VLC Media Player ActiveX là phương pháp hiệu quả nhất để làm chậm/tăng tốc video mà không bị trễ.

1

Cách cuối cùng là giải mã các bitmap từ video và tự xử lý khung.

Thử ví dụ CaptureNET từ DirectShow.NET. Nó cho phép bạn chụp ảnh bitmap từ mỗi khung hình. Sau đó, viết điều khiển phát lại của riêng bạn để xử lý tốc độ làm mới.

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