2011-01-27 48 views
8

Tôi đang gặp vấn đề, tại thời điểm này, tôi thậm chí không biết cách điều tra đúng cách. Bất kỳ khuyến nghị nào về cách tôi có thể nhận thêm thông tin đều được hoan nghênh và đánh giá cao.VLC chết khi được gọi từ bên trong Java

Công ty của tôi bán sản phẩm với máy tính WinXP ở cốt lõi của nó. Một trong những nhiệm vụ của sản phẩm là có thể bắt đầu trình phát video theo yêu cầu - VLC, trong trường hợp này. (Cụ thể, VLC 0.8.6d; nó đã mất vài năm, nhưng việc nâng cấp có vấn đề vì một vài lý do.) Ứng dụng chịu trách nhiệm khởi động trình phát và thực hiện nhiều, nhiều tác vụ khác được viết bằng Java.

Tôi có một giàn khoan thử nghiệm nằm cạnh bàn làm việc của tôi. Nó được sử dụng để làm việc tốt. Nhưng vì lý do nào đó, bây giờ nó đưa ra một cửa sổ "Gửi báo cáo lỗi" khi ứng dụng Java cố gắng khởi động VLC: "Trình phát phương tiện VLC đã gặp sự cố và cần đóng ...." Bạn biết điều đó.

Rõ ràng, tôi đã làm điều gì đó khiến mọi thứ trở nên lỗi thời. Vấn đề là, tôi không biết nó có thể là gì và tôi sẽ sửa chữa nó như thế nào.

Stuff tôi biết:

  • Đó không phải là lỗi mã. Tôi chạy cùng một phần mềm trên máy tính để bàn phát triển của mình, và nó không có vấn đề này.
  • Nó không phải là VLC cài đặt, cũng không phải là một tập tin video không đúng định dạng. Khi tôi nắm bắt lệnh được sử dụng để khởi động nó từ Java và tự nhập lệnh đó từ một cửa sổ "cmd", nó hoạt động tốt.
  • Nó không phải là lỗi bastich lén lút mà Java trừng phạt bạn nếu bạn không tự thoát STDERR và STDOUT khi thực hiện cuộc gọi hệ thống. Tôi đã được bảo hiểm.
  • Tôi không nhận được bất kỳ thông báo lỗi hoặc đầu ra nào khi không thành công; nó chỉ thất bại và cho tôi cửa sổ bật lên đó.

Tôi bị gộp lại. Đề xuất cho một trong hai điều đó có thể là gì hoặc làm thế nào tôi có thể tìm ra những gì nó được chào đón.

+1

Tôi không phải là rất chắc chắn khi bạn có thể chạy vlc từ dấu nhắc lệnh, nhưng vẫn có một cái nhìn tại bài viết này (http://techdows.com/2009/04/how-to-fixvlc-media-player-has.html). Tôi đang upping câu hỏi của bạn (có thể ai đó khác có thể giải quyết nó). – Favonius

+0

Có thể chương trình Java của bạn không có đủ đặc quyền cần thiết để chạy VLC với các cờ bắt buộc? Vui lòng kiểm tra xem chương trình của bạn có đang sử dụng cùng một tệp vlcrc như bạn không. – dirbacke

Trả lời

1

Vâng, tôi không quen thuộc với java và VLC, nhưng tôi sẽ làm những điều sau đây:

  1. Kiểm tra xem bạn có các máy ảo java giống hệt nhau trong cả hai máy tính để bàn của bạn. Chỉ trong trường hợp…
  2. Kiểm tra các biến môi trường của quy trình. Chúng phụ thuộc vào quá trình cha mẹ. Có lẽ VLC sử dụng một số trong số họ.
  3. Cố gắng gỡ lỗi sự cố với trình gỡ lỗi gốc như WinDbg. Có lẽ ngăn xếp cuộc gọi sẽ cung cấp cho bạn nhiều ý tưởng hơn.

Chúc may mắn!

0

gợi ý của tôi:

  1. Tạo một ứng dụng java đơn giản rằng chỉ cần khởi động VLC
  2. Sử dụng ứng dụng của bạn để khởi động một cửa sổ dòng lệnh chương trình đơn giản
  3. Sử dụng ứng dụng của bạn để khởi động một chương trình phức tạp
  4. Kiểm tra xem có vấn đề hạn chế về bộ nhớ hay không. VLC có quá ít bộ nhớ để chạy không?

Điều này thực sự giống như vấn đề về bộ nhớ/môi trường.

0

Một số điều tôi sẽ cố gắng

  1. Chắc chắn cả hai thử nghiệm và phát triển máy là giống hệt nhau trong mọi khía cạnh, các syste điều hành (nếu có thể được cài đặt từ cùng một hệ điều hành Disk), cùng một phiên bản JVM, cùng cấp phát bộ nhớ để JVM (bạn biết những-X-ms chất liệu). Nỗi sợ của tôi không phải với Java/JVM mỗi lần, nó là với các cửa sổ.
  2. Hãy chắc chắn rằng bạn có thể ăn trưa ví dụ Notepad từ một ứng dụng Java, và sau đó một cái gì đó như Windows Media Player hoặc MS Word.
  3. Thử và khởi chạy các phiên bản VLC khác để xem đó có phải là vấn đề về phiên bản VLC không.
  4. Cuối cùng cố gắng và lau hộp kiểm tra và cài đặt lại nó (với Windows, bạn không bao giờ có thể nói, một cài đặt mới chỉ có thể làm điều đó !!)
Các vấn đề liên quan