2009-04-24 13 views
11

से नियंत्रण करता है मैं वी # सी से वीएलसी मीडिया प्लेयर को नियंत्रित करने की कोशिश कर रहा हूं। मैंने .NET से FindWindow() कमांड के साथ विंडो पर एक हैंडल प्राप्त करने का प्रयास किया लेकिन जैसा कि मैंने पाया कि खिड़की का नाम हर बार फ़ाइल खेला जाता है। मेरे पास सबसे बड़ी समस्या vmc.commands को vlc. भेज रही है। यह दृष्टिकोण विनम्प और विंडोज मीडिया प्लेयर के साथ काम करता है लेकिन वीएलसी के साथ ऐसा लगता है कि यह काम नहीं करेगा।वीएलसी दूरस्थ रूप से सी #

मैंने पढ़ा है कि वीएलसी को ब्राउज़र से नियंत्रित किया जा सकता है लेकिन मुझे यह नहीं लगता है ... मैंने इसकी सेटिंग्स में देखा है कि इसमें कुछ गर्म कुंजी हैं जिन्हें कहा जा सकता है..लेकिन उन्हें बदला जा सकता है और यदि मैं किसी भी तरह मेरे कोड से उन्हें फोन ... और उपयोगकर्ता them..bummer परिवर्तन ...

मैं कर रहा हूँ एक छोटा सा stuck..any मदद शानदार होगा ... Sorin

+0

आपका लक्ष्य यहां क्या है? ड्राइव वीएलसी? एक आवेदन में एकीकृत? –

+0

हैलो, मैं अपने ऐप में एक स्टॉप बटन दबाकर वीएलसी को नियंत्रित करना चाहता हूं और वीएलसी प्लेयर बंद हो जाता है। वीएलसी मेरे ऐप में एकीकृत नहीं है .. मेरा ऐप रिमोट कंट्रोल की तरह होगा ... libvlc एक libvlc-sharp look जैसे समाधान .. मुझे गहराई से देखना होगा .. –

+0

हैलो सैम्बो, विचार को नियंत्रित करना था (ड्राइव) वीएलसी, इसे किसी अन्य ऐप में एकीकृत नहीं कर रहा है। वीएलसी सामान्य रूप से विंडोज़ में चलाना चाहिए और सी # एप से डब्लूएम कमांड प्राप्त करना चाहिए। –

उत्तर

9

मेरे पास कुछ कोड है जो पर RC interface पर सक्षम है। यह एक डिग्री के लिए काम किया लेकिन बहुत सारे quirks है। पूर्ण स्क्रीन पर जाने के बाद कुछ सेकंड के लिए कुछ भी नहीं किया जाता है। कुल मिलाकर यह काम करता है।

अन्य विकल्प हैं:

एक DirectDraw फिल्टर (बहुत मेहनत) लिखें, लेकिन एक बार यह हो जाए वीएलसी की या FFMPEG साथ संयोजन के रूप में उपयोग किया जा सकता। मौजूदा कोड जो मीडिया प्लेयर चलाता है वोएलसी का उपयोग कर सकता है।

libvlc के लिए एक इंटरॉप आवरण लिखें, हाल ही में वीएलसी टीम बाहर libvlc से libvlccore तो मेरी जानकारी के अनुसार सभी interop पुराना हो चुका है करने के लिए अलग हो गए। एक बार जब आप एक रैपर लिखते हैं तो आप विंडोज ऐप में वीएलसी एम्बेड कर सकते हैं। (यदि आप 64 का समर्थन करने की जरूरत है आप 64 के तहत इन libs संकलित करने के लिए की जरूरत है।

वीएलसी कोड के माध्यम से देखो और पता अगर वहाँ एक तरह से इन खिड़कियों संदेश भेजने के लिए है।

संपादितThis appears आए हैं इस सप्ताह बाहर।

+0

इस तकनीक के लिए उपयोगकर्ता को कुछ झंडे के साथ वीएलसी शुरू करने की आवश्यकता है यदि मैं गलत हूं तो कमांड लाइन मुझे सही करे)। मुझे इस समस्या का भी सामना करना पड़ रहा है कि अगर मेरे उपयोगकर्ता ने विंडोज़ से वीएलसी शुरू किया है। मैं अपने उपयोगकर्ता से आरसी मोड में प्रवेश करने के लिए नहीं कह सकता। क्या वीएलसी खुद को नियंत्रित करने का कोई और तरीका नहीं प्रदान करता है? विंडोज मीडिया प्लेयर या आईट्यून्स में COM इंटरफ़ेस की तरह? – MaX

+0

MaX मुझे लगता है कि एक libvlc है लेकिन यह अप्रबंधित –

2

आप शामिल हैं libvlc

पर आप इसे लाइब्रेरी में लपेटने और उसके माध्यम से वीएलसी के साथ बातचीत करने में सक्षम हो सकते हैं।

3

जैसा कि ईइन ने उल्लेख किया है, libvlc का उपयोग वीएलसी के साथ बातचीत के लिए किया जा सकता है। सी # उपयोगकर्ता के रूप में, आप libvlc-sharp प्रोजेक्ट द्वारा प्रदान की गई .NET बाइंडिंग को आजमा सकते हैं।

संपादित करें: ऐसा लगता है कि इस परियोजना को वर्षों तक बनाए रखा नहीं गया है। यदि आप इसे देखना चाहते हैं तो मैं लिंक को वैसे भी छोड़ दूंगा और शायद इसके कुछ स्रोतों का उपयोग करने के लिए रखूंगा। http://wiki.videolan.org/Console

हालांकि, मैं यदि संभव हो तो libvlc पसंद करेंगे:

+1

यह लाइब्रेरी पुरानी थी 3 दिन पहले –

+0

3 साल की तरह ;-) लेकिन फिर भी, चेतावनी के साथ अद्यतन पोस्ट किया गया। –

+0

नहीं, मुझे लगता है कि सैम का मतलब है कि चूंकि टीम ने अलग-अलग पुस्तकालयों में कोडबेस को विभाजित किया है, इसलिए मौजूदा इंटरऑप रैपर अब कार्यात्मक नहीं है। Libvlc लाइब्रेरी में कार्यों के लिए आपको एक नया रैपर चाहिए। –

0

वहाँ भी rc इंटरफेस और यहां तक ​​कि एक टेलनेट से एक है।

0

यदि आप ऐसा करने के लिए कोशिश कर रहे हैं name से एक पहले से चल रहा है निष्पादन को नियंत्रित, सभी current processes के माध्यम से गणना करने में Process वर्ग की जाँच या इसे। vlc.exe मिलान करने के लिए निष्पादन योग्य चेक है। इसके बाद आप प्राप्त कर सकते हैं मुख्य खिड़की के लिए एक हैंडल और कुछ पी/आमंत्रित करने के लिए संदेश भेजें क्योंकि आप अपने अन्य निष्पादन योग्य के साथ कर रहे हैं। यह स्पष्ट रूप से संभावित समस्याओं के साथ झुका हुआ है जैसे कि कीबोर्ड शॉटकट में बदलाव हैं।

+0

यह वास्तव में जोखिम भरा दृष्टिकोण है क्योंकि आप प्लेबैक स्थिति को सटीक रूप से ट्रैक नहीं कर सकते हैं। –

+0

मैं सहमत हूं। मैं बस खिड़की/प्रक्रिया को कैसे ढूंढूं इस पर एक विकल्प दे रहा था। –

+0

इसके अलावा, मेरा कोड देखें, यह दिखाता है कि वीएलसी बाल प्रक्रिया को कैसे ढूंढें। सिर्फ नाम से खोजना थोड़ा सा ट्रिकियर है –