1 / 20

Εφαρμογή Αναπαραγωγής Πολυμέσων με χρήση DirectX

Εφαρμογή Αναπαραγωγής Πολυμέσων με χρήση DirectX. Πτυχιακή εργασία του Οδυσσέα Σπανουδάκη (923) Επιβλέπων Δρ. Σ. Καζαρλής. Καθηγητής Αναπλ. Προϊστάμενος. Θεωρητικό υπόβαθρο. DirectX Ιστορία Μέρη DirectDraw Direct3D DXGI Direct2D DirectWrite DirectCompute DirectInput DirectPlay

mura
Download Presentation

Εφαρμογή Αναπαραγωγής Πολυμέσων με χρήση DirectX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Εφαρμογή Αναπαραγωγής Πολυμέσων με χρήση DirectX Πτυχιακή εργασία του Οδυσσέα Σπανουδάκη (923) Επιβλέπων Δρ. Σ. Καζαρλής. Καθηγητής Αναπλ. Προϊστάμενος

  2. Θεωρητικό υπόβαθρο • DirectX • Ιστορία • Μέρη • DirectDraw • Direct3D • DXGI • Direct2D • DirectWrite • DirectCompute • DirectInput • DirectPlay • DirectSound • DirectSound3D • DirectMusic • DirectShow • XACT • Χρήση DirectX API • Sdk’s • Πολυπλοκότητα • Ενσωμάτωση • Com και Com objects • Interfaces • Instantiation • Διαχείριση μνήμης • Κανάλι Alpha • Thread safe objects • Waves, Midi, Wavetables (dls)

  3. Τεχνολογίες και Εργαλεία • Εργαλεία υλοποίησης • Περιβάλλον χρήσης • Προγραμματιστικές μέθοδοι • Templates, generics, reflection, πολυμορφισμός, ATL, design patterns • Διαχείριση project • Τρίτα εργαλεία • Το project σε αριθμούς • 290 κλάσεις, 403 files • Loc 22.490 • C++ 12.655 • C# 9.835

  4. Αρχιτεκτονική σχεδίαση Αναπαραγωγή Περιβάλλον χρήστη IPC με χρήση Sockets Communication Protocol Server Client • Πλεονεκτήματα • Χειρισμός από απόσταση • Εύκολη αλλαγή interface • Full-duplex communication • Πολλοί clients • Μειονεκτήματα • Connection oriented (limited) • Εύκολο sniffing, spoofing

  5. Ενέργειες αναπαραγωγής

  6. Δομή UltraPlayer • Messages • Communication • Exceptions • Playback • Addon • Environment • Resources • Utilities • Διαχείριση μηνυμάτων • Playback • Παράθυρο • Events Μοντέλο νημάτων Οντότητες Κύριο νήμα Tcp Server

  7. Κεντρικές δομές Ultra Player • PlayerFactory • UltraPlayer • TCPServer • WindowManager • APlayer • PlayerInstructor • IRequestHandler • RequestHandler Selector

  8. Επικοινωνία • TcpServerThread • MessagePipe • WindowManager • RequestHandlerSelector • IRequestHandler {data} CreateRequest NewMessage InPipeEvent SetRequest GetRequest • RequestFactory {wait} GetListener HandleRequest Response SetResponse • RequestFactory GetResponse {data} • MessagePipe • TCPServer

  9. Μηνύματα επικοινωνίας Είδη μηνυμάτων: • Play • Pause • Resume • Stop • SetVolume • Termination • Seek • SetImage • SetText • WindowLayout • VideoLayout • Display Devices Info • SoundFx • Sound3d • MidiProperties • MidiOutput PortInfo • SetMidiOutputPort • SetDls • SetFrequency • SetRate • RequestFactory • ARequest • IStringParser • AMessage • MessageType • ResponseType • AResponse • ResponseFactory

  10. DirectShow και γράφοι • Φίλτρα ως δομικά στοιχεία • Λειτουργίες φίλτρων • Αλυσίδα φίλτρων • Διαχείριση γράφου • GraphManager • Intelligent Connect • Τρίτα φίλτρα • Γεγονότα – events • Χαρακτηριστικά και Vmr9

  11. Multi Video Player • APlayer • Χρήση Vmr9 • Πολλές είσοδοι • Διάρκεια αναπαραγωγής • Ρύθμιση παραθύρου • Ορισμός παραμέτρων • Δυνατότητα μετακίνησης video • ADShowPlayer • MultiVideoPlayer • AGraphManager • MultiVideo GraphManager

  12. Πρόσθετα - Addons Δυνατότητες • Δυναμική • Δημιουργία / ανανέωση • Ανάθεση • Απελευθέρωση • Thread safe • Πολλοί αποδέκτες • AddonType • AAddon • AVisibleAddon • AD3dVisibleAddon • AddonManager • ImageD3dVisibleAddon • AExpandable • TextD3dVisibleAddon

  13. Vmr – Allocator Presenter Υπέρθεση γραφικών • Δομή Vmr9 • Custom Alloc Pres • Direct3d + Vmr9 • Σκηνή 3d • Camera • Ρυθμίσεις Direct3d • Render • Back buffers

  14. Single Video Player Αρχικοποίηση Rendering

  15. Δομές Single Video Player • APlayer • ADShowPlayer • AGraphManager • SingleVideoPlayer • AddonManager • IVMRSurfaceAllocator9 • IVMRFilterConfig9 • SingleVideoGraphManager • IVMRImagePresenter9 • Direct3dVmr9DshowPlayerEnvironment • AllocatorPresenter • AExpandable • PlaneScene • CustomVertex • Position3d

  16. Midi Player • Event messages • Αναπαραγωγή με χρήση DirectMusic • Wavetables &Dls • Παράμετροι • Tempo • Spatialization • Effects • Output port • APlayer • MidiPlayer • MidiWrapper • MidiPortInfo

  17. Αναπαραγωγή Midi • Midi Player • MidiWrapper • IDirectMusicSegment • IDirectMusicPerformance • IDirectMusicLoader Stop SetStartPoint(0) Stop LoadMidi LoadObjectFromFile SetParam GetObject(dlsFile) SetParam(dls) Download(performance) Play() PlaySegmentEx()

  18. Audio Player • APlayer • Αναπαραγωγή κυματομορφών wav • Χρήση • DirectSound, • DirectSound3d • Sound effects • Spatialization • Min, Max volume • Doppler • Frequency/pitch • CSound • WaveFileValidator • AudioPlayer • CSoundManager • SoundFxManager • SoundFxType • ASoundFx • IStringParser • SoundFxFactory • ICopyable • Echo • Compressor • Distortion • Reverb • Gargle • Flanger • ParamEq • Chorus

  19. Αναπαραγωγή Midi • WavefileValidator • SoundFxManager • Audio Player • DirectSound3d Buffer • DirectSound • Buffer • CSound • CSoundManager IsValid(file) SetAllParameters(head relative) Create Play DisableAllFx() Stop Initialize() SetFxEnable() ActivateFx() SetVolume Stop Get3DBufferInterface

  20. Συμπεράσματα • Δυνατότητες DirectX • Μεταφερσιμότητα • Δυσκολία υλοποίησης • Έλλειψη τεκμηρίωσης • Ελλείπεις υποστήριξη format. • DirectX 10 • XACT, XAudio2

More Related