2008-09-11 19 views
9

में विंडोज मीडिया प्लेयर के साथ कैसे बातचीत करें मैं विंडोज मीडिया प्लेयर के एक स्टैंडअलोन पूर्ण संस्करण के साथ बातचीत करने का एक तरीका ढूंढ रहा हूं।
अधिकतर मुझे वर्तमान में खेले गए ट्रैक के पथ को जानने की आवश्यकता है।सी #

आईट्यून्स एसडीके यह वास्तव में आसान बनाता है लेकिन दुर्भाग्य से विंडोज मीडिया प्लेयर के साथ ऐसा करने का कोई तरीका नहीं है, कम से कम .NET (C#) में पिनवोक के भारी उपयोग के बिना, जो मैं वास्तव में आरामदायक नहीं हूं साथ में।

धन्यवाद

बस clearify लिए: मैं अपने अनुप्रयोग में विंडोज मीडिया प्लेयर का एक नया उदाहरण एम्बेडेड नहीं करना चाहते, लेकिन इसके बजाय को नियंत्रित/विंडोज मीडिया प्लेयर के 'असली' पूर्ण संस्करण पढ़ा, द्वारा seperatly शुरू कर दिया उपयोगकर्ता

उत्तर

2

मेरे पास यह बुकमार्क्स में https://social.msdn.microsoft.com/Forums/vstudio/en-US/dbd43d7e-f3a6-4087-be06-df17e76b635d/windows-media-player-remoting-in-c?forum=clr था लेकिन किसी भी तरह से इसका परीक्षण नहीं किया है। सही दिशा में बस एक सूचक। यह कुछ भी आधिकारिक नहीं है और आपको थोड़ी खुदाई की आवश्यकता होगी, लेकिन आपको विंडोज मीडिया प्लेयर के आस-पास एक साधारण सरल रैपर (जो अभी भी हुड के नीचे PInvoke का उपयोग करेगा) - लेकिन आप इसे नहीं देख पाएंगे।

उम्मीद है कि मदद करता है।

ओह, मुझे गलत समझा गया। मैंने सोचा था कि आप वर्तमान में चल रहे विंडोज मीडिया प्लेयर इंस्टेंस को नियंत्रित करने के बारे में बात कर रहे थे। यदि आप स्वयं विंडोज मीडिया प्लेयर की मेजबानी कर रहे हैं तो WMPLib निश्चित रूप से बेहतर समाधान है।

+0

क्या आप किसी चीज़ से लिंक करना चाहते थे ...? –

+1

मुझे लगता है कि वह वही चाहता था ... डब्लूएमपी के वर्तमान चल रहे उदाहरण तक पहुंचने और नियंत्रित करने का एक तरीका। –

+0

बहुत बहुत धन्यवाद, यह वही था जो मैं खोज रहा था, एक आकर्षण की तरह काम किया। आपने मेरी समस्या हल की है मैं 6 मिनट की तरह, 2 दिनों में हल करने में भयानक हूं! धन्यवाद! – eric

7

बस एक मीडिया प्लेयर

var Player = new WindowsMediaPlayer(); 
// Load a playlist or file and then get the title 
var title = Player.controls.currentItem.name; 

अधिक जानकारी

के लिए Creating the Windows Media Player Control Programmatically देखें (\ windows \ system32 \ wmp.dll) wmp.dll को

using WMPLib; 

एक संदर्भ जोड़ने और फिर आप का दृष्टांत कर सकते हैं

+7

यह दृष्टिकोण "स्टैंडअलोन" डब्लूएमपी उदाहरण के साथ बातचीत नहीं कर सकता है। – smwikipedia

1

स्टीफन टब द्वारा लिखित यह article यह है कि मैंने देखा है कि सबसे अच्छी जानकारी विंडोज मीडिया प्लेयर के साथ बातचीत कर रही है।

वह डीवीआर-एमएस फाइलों को चलाने के विभिन्न तरीकों का एक पूरा भार सूचीबद्ध करता है (वास्तव में इससे कोई फर्क नहीं पड़ता कि वे इस प्रारूप के लिए क्या हैं)। आपके लिए ब्याज की संभावना शायद मीडिया प्लेयर एक्टिवएक्स कंट्रोल का उपयोग करने के बारे में है, जिसे आप विजुअल स्टूडियो टूलबॉक्स में राइट-क्लिक करके और विंडोज मीडिया प्लेयर एक्टिवैक्स COM कंट्रोल जोड़कर जोड़ सकते हैं। इसके बाद आप अपने ऐप्लिकेशन में खिलाड़ी एम्बेड कर सकते हैं, और यूआरएल की तरह, मीडिया प्लेयर के विभिन्न गुणों का उपयोग:

WMPplayer.URL = stringPathToFile; 

यह समाधान संभवतः है कि तुम क्या नहीं करना चाहता, क्योंकि यह मीडिया प्लेयर का एक नया उदाहरण शुरू कर रहा है (जहाँ तक मुझे पता है), हालांकि यह आपको सही दिशा में इंगित कर सकता है।

4

विंडोज मीडिया प्लेयर को रिमोट करने के लिए, आप अकेले स्टैंड को नियंत्रित करने के लिए IWMPRemoteMediaServices इंटरफ़ेस का उपयोग कर सकते हैं Windows Media Player। और आपको अपने डब्लूएमपी प्लेयर ऑब्जेक्ट से शीर्षक या फ़ाइल नाम जैसी सभी सूचनाओं को पढ़ने में सक्षम होना चाहिए। दुर्भाग्य से एसडीके में कोई सी # स्मैपल कोड शामिल नहीं है। http://blogs.msdn.com/ericgu/archive/2005/06/22/431783.aspx

तो फिर तुम विंडोज़ मीडिया प्लेयर वस्तु को कास्ट करने के लिए है: फ़ाइल WmpRemote.zip मूल रूप से इसे यहाँ से है के लिए http://d.hatena.ne.jp/punidama/20080227 देखो: आप यहाँ से फाइल प्राप्त कर सकते हैं RemotedWindowsMediaPlayer rm = नए RemotedWindowsMediaPlayer(); WMPLib.WindowsMediaPlayer myPlayer = this.GetOcx() WMPLib के रूप में।विंडोज मीडिया प्लेयर;

और वहां आप जाते हैं ..