डेल्फी XE2: libvlc के साथ वीडियो खेल रहे firemonkey? - डेल्फी, डायरेक्टएक्स, डेल्फी-एक्सई, फायरमोनकी, libvlc

मैं अभी भी libvlc के साथ directx एपीआई का उपयोग कर फायरमोन पर वीडियो चलाने की कोशिश कर रहा हूँ! मैंने पहले से ही अलग-अलग तरीके से वीडियो चलाया है लेकिन मैं डायरेक्टएक्स सतह पर वीडियो खेलना चाहता हूं।

कृपया पहले इस लिंक को देखा: http://forum.videolan.org/viewtopic.php?f=32&t=82618

कोई उपयोग करने के तरीके के बारे में एक डेल्फी कोड लिखते हैंdirectx पर libvlc और वह कोड अच्छी तरह से काम कर रहा है, लेकिन यह कोड शुद्ध डायरेक्टएक्स कोड है। मैं इस कोड को फायरमोनकी में एकीकृत करना चाहता हूं! मैं फ़ायरमॉन्की लाइब्रेरी के साथ ऐसा कैसे कर सकता हूं (मुझे विंडोज़ फ़ायरमॉकी के लिए डायरेक्टएक्स लाइब्रेरी का उपयोग करना है, लेकिन फ़ायरमॉन्की लाइब्रेरीज़ (इंटरफेस, क्लासेस, ऑब्जेक्ट्स) नामकरण और डायरेक्टएक्स के बाद अलग-अलग उपयोग करना!

मैं अब कहाँ हूँ:

मैं इस शुद्ध डायरेक्टएक्स कोड को लगभग "Winapi.Direct3D9, Winapi.D3DX9, FMX.Context.DX9" पुस्तकालयों के साथ फ़ायरमॉकी में एकीकृत करता हूं

मैं फायरमोनि संदर्भ में IDirect3DDevice9 ऑब्जेक्ट तक पहुंच सकता हूं!

var
Device: IDirect3DDevice9;
begin
Device := TCustomDirectXContext(TCustomForm3D(ParentForm).Context).Device;
Device.CreateTexture(video_width, video_height, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, vlcVideoTexture, nil);
Device.CreateTexture(video_width, video_height, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, vlcMemoryTexture, nil);
end;

उस कोड में यहाँ पूरी तरह से फायरमोन में काम कर रहा है लेकिन आप देखेंगेइस कोड प्रकार का परिणाम ऑब्जेक्ट IDirect3DTexture9 है, इस ऑब्जेक्ट में वीडियो के फ्रेम बफर शामिल हैं, मुझे केवल इस ऑब्जेक्ट को फ़ायरमोनकी फॉर्म में कुछ नियंत्रण पर प्रस्तुत करने की आवश्यकता है।

मैं इस बफर को फायरमोन कैनवास में कैसे आकर्षित कर सकता हूं?

मैं अच्छे डेल्फी डेवलपर्स समाधान का इंतजार कर रहा हूं।

धन्यवाद

उत्तर:

उत्तर के लिए -2 № 1

मुझे नहीं लगता कि LibVlc के साथ direct3D का प्रयास करना संभव है क्योंकि libvlc अनुरोध वीडियो चलाने के लिए किसी भी विंडो को संभालता है, किसी भी रूप में खेलना ठीक है क्योंकि उनके पास वैध हैंडल है।


संबंधित सवाल
सबसे लोकप्रिय