2012-04-20 38 views
15

Tôi đang làm việc trên một tập lệnh Python đơn giản, được cho là sẽ làm điều gì đó, sau đó phát tệp video và sau đó thực hiện thêm một số nội dung.Phát tệp video với VLC, sau đó thoát VLC

tôi buộc phải làm điều này trên một máy Windows XP với Python 3.2.3VLC để chơi tập tin video của tôi.

Tôi hiện đang sử dụng mã này ...

vlc_path = '\\path\\to\\vlc.exe' 
video_path = '\\path\\to\\video\\file' 
subprocess.call([vlc_path, video_path]) 

... để mở VLC và phát video. Nó hoạt động độc đáo. Tuy nhiên, tập lệnh chờ VLC thoát trước khi nó tiếp tục. Điều đó tốt và tôi muốn giữ nó theo cách đó.

Câu hỏi của tôi là: Có cách nào để thoát VLC ngay sau khi tệp video đã được phát không?

Cảm ơn bạn rất nhiều vì đã trợ giúp!

+2

để điều khiển bổ sung vlc có các ràng buộc python: http: //wiki.videolan.org/Python_bindings – bmu

+0

Cảm ơn, bmu, nhưng đó là nhiều hơn tôi cần. :) – Florian

Trả lời

35

Funnily đủ, vlc có một tùy chọn dòng lệnh cho việc này:

--play-and-exit, --no-play-and-exit 
          Play and exit (default disabled) 

Vì vậy, chỉ cần vượt qua tùy chọn này để vlc.

+1

Cảm ơn bạn, điều này đã làm việc hoàn hảo. Một điều có vẻ quan trọng là bạn đặt 'shell = True'. Điều này làm việc cho tôi: 'subprocess.call ([vlc_path, video_path, '--play-and-exit', '--fullscreen'], shell = True)' – Florian

+1

@Florian. Lạ thật. Đối với tôi 'shell = False' đã làm việc và' True' thì không. Tuy nhiên, cảm ơn bạn đã triển khai! – Mathias711

+0

Điều này đã không làm việc cho tôi chạy vlc trên Windows 10. Tuy nhiên việc thêm mục giả được đề cập dưới đây đã làm các trick. –

0

Cách tốt nhất tôi có thể nghĩ là đang giết quá trình bằng một chuỗi riêng biệt sau khi độ dài video đã trôi qua, nếu bạn biết độ dài của video bằng Python. Ở những nơi khác, nó phụ thuộc vào tùy chọn dòng lệnh VLC-s. Có lẽ bạn có thể bảo anh ấy đóng cửa sau khi đóng phim.

+2

Nó sẽ là tốt hơn để sử dụng tùy chọn dòng lệnh ở đây chứ không phải là chấm dứt không rõ ràng quá trình. – logain

0

Nếu không có gì làm việc hãy thử sử dụng tùy chọn --ignore-config ngay từ đầu sau khi vlc ngoài http://quit ở cuối

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