2012-04-06 35 views
5

Tôi đang viết một ứng dụng sẽ mở vlc, thêm tệp vào danh sách phát của nó và phát tệp đó. Tôi đang gặp một số sự cố vào ngày cuối cùng 2.Kiểm soát VLC qua C#

AXVLC.VLCPlugin alxplugin1 = new AXVLC.VLCPlugin(); 

       alxplugin1.addTarget("C:\\test.avi", null, AXVLC.VLCPlaylistMode.VLCPlayListInsert, 0); 
       alxplugin1.play(); 

Điều này không hoạt động ... Bất kỳ ý tưởng nào?

Cảm ơn

+0

http://www.codeproject.com/Articles/109639/nVLC – Flot2011

Trả lời

2

C# có thể truy cập VLC thông qua lớp COM của nó. Điều đầu tiên cần làm là đăng ký axvlc.dll. Mở cửa sổ cmd và nhập:

C:\Windows\System32\regsvr32.exe C:\Program Files (x86)\VideoLAN\VLC\axvlc.dll 

Bạn sẽ nhận được hộp thoại xác nhận rằng dll của bạn đã được đăng ký thành công. Mở VisualStudio và tạo một dự án WinForms mới và thêm một tham chiếu đến đối tượng COM VLC COM. Tới Mẫu cs nộp

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
      public Form1() 
      { 
       InitializeComponent(); 

       AXVLC.VLCPlugin2Class p = new AXVLC.VLCPlugin2Class(); 
       p.addTarget("C:\\zk.m4a", null, VLCPlaylistMode.VLCPlayListInsert, 0); 
       p.play(); 
      } 
    } 
} 

Lưu ý: Các VLCPluginClass đã bị phản đối, sử dụng VLCPlugin2Class

+2

Cố gắng này, nhưng nhận được 'Interop gõ 'AXVLC.VLCPlugin2Class' không thể được nhúng. Sử dụng giao diện áp dụng thay thế.' từ trình biên dịch. – lorus

+4

Để loại bỏ lỗi "Interop type 'AXVLC.VLCPlugin2Class' không thể nhúng. Sử dụng giao diện có thể áp dụng thay thế". Nhấp chuột phải vào tham chiếu AXVLC và các thuộc tính goto. Đặt "Interops Interded Type" thành false. – Ray

4

Phiên bản mới hơn của VLC cần "file: ///" ở phần đầu của tên file. Nó sẽ hoạt động nếu bạn thêm cái này. Hãy thử những điều sau đây và xem nó có giải quyết được vấn đề của bạn không. sử dụng: alxplugin1.addTarget("file:///" + "C:\\test.avi", null, AXVLC.VLCPlaylistMode.VLCPlayL­istReplaceAndGo,0);

+0

Điều đó có hiệu quả đối với tôi. Thật không may, không có trình bao bọc nào ghi lại điều này. Cảm ơn. –

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