Multimedie software. Værktøjer til at skabe multimedieapplikationer

Værktøjer til at skabe multimedieapplikationer

Anmeldelse Hvad er multimedie Multimedie i Delphi TMediaPlayer-komponent To typer programmer, der bruger multimedier

1. Anmeldelse

Delphi gør det nemt og enkelt at inkludere multimedieobjekter såsom lyde, videoer og musik i programmet. I dette afsnit diskuterer, hvordan man gør dette ved hjælp af den indbyggede Delphi komponent TMediaPlayer. Forvaltningen af ​​denne komponent i programmet og indhentning af information om den aktuelle tilstand diskuteres i detaljer.

2. Hvad er multimedie

Der er ingen præcis definition af, hvad det er. Men i dette øjeblik og på dette sted er det nok bedre at give så meget som muligt generel definition og at sige, at "multimedia" er et begreb, der refererer til næsten alle former for animation, lyd, video, der bruges på en computer.

Med en sådan generel definition skal det siges, at vi i dette afsnit har at gøre med en delmængde af multimedier, som omfatter:

1. Vis video i Microsofts format Video til Windows (AVI).

2. Afspil lyde og musik fra MIDI- og WAVE-filer.

Denne opgave kan udføres vha dynamisk bibliotek Microsoft Multimedia Extensions til Windows (MMSYSTEM. DLL), hvis metoder er indkapslet i TMediaPlay-komponenten, som findes på System-siden i Delphi Component Palette.

Afspilning af mediefiler kan kræve noget hardware og software. Så for at afspille lyde har du brug for lyd kort.

3. Multimedie i Delphi

Delphi har en TMediaPlayer-komponent, der giver dig adgang til alle de grundlæggende medieprogrammeringsfunktioner. Denne komponent er meget nem at bruge. Faktisk er det så enkelt, at mange uerfarne programmører vil finde det nemmere at oprette deres første program, der afspiller video eller musik frem for at vise den klassiske "Hello World"-meddelelse.

Brugervenlighed kan opfattes på to måder:

Dette afsnit beskriver ikke detaljerne for interne opkald til multimediefunktioner, når komponenten kører. Alt du behøver at vide er, at komponenten hedder TMediaPlayer, og at den giver adgang til et sæt rutiner skabt af Microsoft kaldet Media Control Interface (MCI). Disse rutiner giver programmøren nem adgang til en lang række multimedieenheder. Faktisk er det intuitivt og indlysende at arbejde med TMediaPlayer.

4. TMediaPlayer-komponent

Lad os først oprette et nyt projekt, og derefter placere TMediaPlayer-komponenten (System Palette-siden) på formularen, som vist i figur 1.

Fig.1: TMediaPlayer-komponent på formularen.

TMediaPlayer-komponenten er designet som et enhedskontrolpanel med knapper. Ligesom på en båndoptager er der knapper til “play”, “rewind”, “record” osv.

Når du har placeret komponenten på formularen, vil du se, at objektinspektøren indeholder egenskaben "FileName" (se fig. 2). Klik to gange

DIV_ADBLOCK63">

Fig.3: Afspilning af AVI på panelet.

5. To typer multimedieprogrammer

Nogle gange har du brug for at give brugerne en nem måde at afspille en så bred vifte af filer som muligt. Det betyder, at du bliver nødt til at give brugeren adgang til harddisken eller cd-rom'en og derefter tillade ham at vælge og afspille den relevante fil. I dette tilfælde indeholder formularen normalt TMediaPlayer, som giver afspilningskontrol.

Nogle gange vil en programmør måske skjule eksistensen af ​​en TMediaPlayer-komponent for brugeren. Det vil sige afspil lyd eller video uden at brugeren bekymrer sig om dens kilde. Især lyd kan være en del af en præsentation. For eksempel kan visning af en graf på skærmen være ledsaget af en forklaring skrevet ind WAV fil. Under præsentationen ved brugeren ikke engang om eksistensen af ​​TMediaPlayer. Det virker i baggrunden. For at gøre dette gøres komponenten usynlig (Visible = False) og styres programmatisk.

6. Eksempel program med multimedie

I dette afsnit vil vi se på et eksempel på at bygge en applikation med multimedier af den første type. Opret et nyt projekt (Fil | Nyt projekt). Placer TMediaPlayer på formularen; placer en TOpenDialog klasse OpenDialog1 komponent for at vælge en fil. Angiv de nødvendige filtypenavne i egenskaben Filter for det:

AVI-fil(*.avi)|*.avi

WAVE Fil(*.wav)|*.wav

MIDI-fil(*.MID)|*.mid

Placer en Button1-knap fra TButton-klassen på formularen. Lad OpenDialog1-dialogen kaldes, når denne knap trykkes, og den valgte fil afspilles.
Opret en OnClick-hændelseshandler til Button1:

Procedure TForm1.Button1Click(Afsender:TObject);

med OpenDialog1 do

hvis Udfør så start

MediaPlayer 1. Filnavn:=Filnavn;

MediaPlayer1.Åben;

MediaPlayer1.Play;

Formens udseende er vist i fig. 4

Fig. 4: Indledende billede af projektet

Gem projektet, kør det, vælg påkrævet fil og dobbeltklik på den med musen. MediaPlayer bør afspille denne fil i et separat vindue.

Som nævnt ovenfor kan videoen afspilles inde i en formular, for eksempel i et panel. Lad os ændre projektet lidt og tilføje et TPanel der (se fig. 5). Angiv Panel1 i egenskaben Display for MediaPlayer1. Det er nødvendigt at fjerne inskriptionen fra panelet (Billedtekst)

og ejendom BevelOuter = bvIngen. For at skifte fra et vindue til et panel under afspilning skal du placere en TCheckBox på formularen og skrive i OnClick-hændelseshandleren for den:

procedure TForm1.CheckBox1Click(Afsender: TObject);

Start_Fra: Longint;

med MediaPlayer1 skal du begynde

hvis FileName="" så Afslut;

Start_From:=Position;

Panel1.Refresh;

hvis CheckBox1.Checked derefter

Position:=Start_Fra;

Start projektet og afspil videoen. Klik på afkrydsningsfeltet.

Mens programmet kører, skal du muligvis vise Nuværende tilstand MediaPlayer-objektet og selve videoen (tid, der er gået siden starten af ​​afspilningen, længden af ​​videoen). Til dette har TMediaPlayer-objektet de tilsvarende egenskaber og hændelser: Længde, Position, OnNotify osv. Lad os tilføje en fremskridtsindikator (TGauge) til projektet, som vil vise i procent, hvor lang tid der er gået (se Fig. 6). Du kan bruge en timer til at opdatere indikatoraflæsningerne. Placer et TTimer-objekt på formularen, indstil dets Interval = millisekunder). I OnTimer-hændelseshandleren skal du skrive:

procedure TForm1.Timer1Timer(Afsender: TObject);

med MediaPlayer1 gør

hvis Filnavn<>"" derefter

Gauge1.Progress:=Round(100*Position/Length);

Start projektet, vælg filen (AVI) og dobbeltklik på den. Når du afspiller en video, skal fremskridtsindikatoren vise den procentdel, der svarer til den forløbne tid (se fig. 6).

Anmærkning: I dette foredrag vil vi diskutere mulighederne for at bruge en naturlig-intuitiv tilgang i moderne multimedieapplikationer. Synergien mellem en ny grænsefladetilgang og multimedieteknologi gør det muligt at skabe en ny generation af software, der er ekstremt interaktiv og effektiv i brug. Som et eksempel vil vi overveje grafik editor med gestuskontrol og stemmestyring i standardtjenesteapplikationer.

Præsentationen til dette foredrag kan downloades.

5.1. Kort koncept for multimedie- og multimedieapplikationer

Multimedia (multimedia) er en samling af computerteknologi samtidig brug af flere informationsmiljøer: grafik, tekst, video, fotografi, animation, lydeffekter, lyd, menneskelig tale.

Multimedieteknologier er et sæt moderne digitalt medie lyd, tv, visuel og virtuel kommunikation, der giver dig mulighed for at indtaste, gemme, behandle og gengive tekst, audiovisuel, grafisk, tredimensionel og anden information.

Sammenkædning af multimedieelementer til et enkelt projekt udføres ved hjælp af software. Resultaterne af at præsentere medieelementer på skærmen og mediekontroller kaldes brugergrænseflade, og hardware og software der giver multimedieafspilning - ved platformen.

Typer af multimedie omfatter:

  • Lineære medier - enkleste form præsentationer af flere medieelementer, hvor brugeren kun passivt kan se medieelementerne, og rækkefølgen af ​​visning af medieelementerne bestemmes af scriptet.
  • Ikke-lineær (interaktiv) multimedie er en form for repræsentation af flere multimedieelementer, hvor brugeren får mulighed for at vælge og styre elementer i en dialogtilstand.
  • Hypermedia er interaktive multimedier, hvor brugeren præsenteres for en struktur af relaterede medieelementer, som han kan vælge sekventielt.
  • Live video er en form for multimedie, der øjeblikkeligt udsender en datastrøm fra en enhed til en anden, så brugeren kan se video og lyd i realtid.

Generelt kan multimedier forstås som et multimedieskalprogram, et produkt fremstillet på basis af multimedieteknologi og computerudstyr. Da multimedieteknologier er komplekse, er individuelle elementer af disse teknologier karakteriseret ved multimedie og dialog med brugeren. Multimedieressourcer indeholder f.eks forskellige slags information, deres væsentlige egenskab er den aktive interaktion mellem ressourcen og personen.

Multimedieteknologi er en af ​​de nye teknologiske former informationssamfundet. Det åbner op for et fundamentalt nyt niveau af informationsbehandling og interaktiv interaktion mellem en person og en computer. Særpræg moderne multimedieteknologier er deres evne til ikke kun at fremstille et bestemt produkt beregnet til forbrug, men også at have en indirekte indflydelse på den person, der bruger dem. Nye former for behandling og levering af information, nye måder at få adgang til information giver os mulighed for at diversificere vores kultur, fremme den globale udveksling af kulturelle værdier, information og viden og fremme mere intensiv kommunikation mellem mennesker.

Den historiske specificitet ved det moderne elektroniske kommunikationssystem er, at i modsætning til tidligere former og stadier af kulturel udvikling af menneskeheden, er det nuværende karakteriseret ved den globale skala af dets distribution og indvirkning på alle områder af det offentlige liv.

Fordi informationsudveksling- en nødvendig komponent i det sociale liv, så er medieteknologier, som et formidlende led i menneskelig aktivitet, en af ​​kommunikationsmetoderne, en betingelse for menneskelig aktivitet. Samtidig integration i ét system af forskellige kilder og former for information i forhold Åben adgang fundamentalt ændret kommunikationens karakter. Elektroniske digitale medierssourcer skaber teknisk gennemførlighed eksistensen af ​​en overmættet informationsfelt, som næsten overalt omgiver det moderne menneske.

Multimedier, ud over at fremskynde kommunikationsprocesser betydeligt, giver dig mulighed for at organisere processerne for produktion, lagring og formidling af information på et kvalitativt nyt niveau.

Aktivt at introducere sig selv i forretningsmiljøet, multimedier påvirker forløbet af økonomisk udvikling samfund, der føder en ny retning - e-business. Multimedieteknologier bruges i vid udstrækning i reklameaktiviteter, i marketingstyring og til at organisere promovering af varer og tjenester. forskellige metoder. Multimedieteknologier er ved at blive et selvstændigt forretnings- og professionelt aktivitetsområde, et emne for erhvervslivet.

Det er umuligt at overvurdere betydningen af ​​multimedier i udviklingen af ​​underholdningsindustrien, skabelsen computer spil, filmindustrien.

Multimedier bør også betragtes som en kunst, hvor en særlig plads hører til visuelle og figurative metoder til at overføre information. Hvordan ny form kunstnerisk kreativitet, multimedie er ikke så meget et produkt af den teknologiske revolution som en digital legemliggørelse af ideer, der ikke fandt udsigter til implementering i de traditionelle rammer for kunst og andre typer kultur. Samtidig bliver computeren endnu et lovende værktøj for alle kunstarter, et alternativt miljø, der er i stand til at rekonstruere kultur på en ny måde og skabe sin egen kunst, den anerkendes som et middel til at skabe kunsttyper. Flere områder inden for computerkunst er dukket op: digital musik, interaktiv performance, computer grafik og animation. En af de vigtigste fordele ved disse typer kreativitet er åbenheden i det kunstneriske rum.

En af måderne at bruge multimedie produktivt på er i uddannelse. Multimedieteknologi giver dig mulighed for at øge graden af ​​assimilering af det studerede materiale, da det giver mulighed for synergetisk læring. Dette betyder at sikre samtidig visuel og auditiv opfattelse af materialet, aktiv deltagelse i styringen af ​​dets præsentation og vende tilbage til de afsnit, der kræver genanalyse. Multimedieteknologiernes rolle i udviklingen af ​​fjernundervisning er særlig stor. I fremtiden vil multimediernes rolle i uddannelse øges, som den viden, der giver højt niveau faglige kvalifikationer er altid genstand for hurtige ændringer.

Der er et stort udvalg af softwareværktøjer til at arbejde med multimediefiler. Sådanne applikationer kan opdeles i flere hovedkategorier:

  • Værktøjer til billedoprettelse og -behandling
  • Værktøjer til at skabe og behandle 2D- og 3D-grafik
  • Værktøjer til at skabe og behandle video og animation
  • Værktøjer til skabelse og behandling af lyd
  • Værktøjer til oprettelse af præsentationer

Computer repræsentation grafisk information implementeret ved hjælp af en raster- eller vektortilgang. I det første tilfælde er billedet opdelt i pixels, farven på hver pixel er kodet med et vist antal bits. Vektorbilleder gemmes som en geometrisk beskrivelse af de objekter, der udgør tegningen.

Grafiske editorer er fokuseret på at manipulere eksisterende billeder og har et sæt værktøjer, der giver dig mulighed for at justere ethvert aspekt af billedet. Professionelle grafiske editorer understøtter arbejde med lag og eksport af objekter fra programmer vektorgrafik, har et komplet sæt værktøjer til farvekorrektion, retouchering, justering af kontrast og farvemætning, maskering, skabelse af forskellige farveeffekter efterligning af visse kunstneriske teknikker.

I vektorgrafikprogrammer eksisterer objekter og billeder, der er gemt som en geometrisk beskrivelse, uafhængigt af hinanden, hvilket giver dig mulighed for at ændre laget, placeringen og eventuelle andre attributter for objektet til enhver tid, hvilket skaber en vilkårlig sammensætning. I sådanne programmer skabes illustrationer ved hjælp af frie former, deres skalering, rotation, deformation samt graden af ​​gennemsigtighed og farvefyldning. Moderne programmer Vektorgrafik indeholder også værktøjer til at arbejde med rasterbilleder og tekster.

Tredimensionel grafik implementeres ved at skabe rammer af objekter, definere de materialer, der dækker dem, arrangere alle objekter i en enkelt scene, installere belysning og et visualiseringspunkt - kameraet. Til 3D-animation skal du konfigurere bevægelsen af ​​sceneobjekter og indstille antallet af billeder. Bevægelsen af ​​objekter i tredimensionelt rum er specificeret ved hjælp af baner, nøglerammer og ved hjælp af formler, der forbinder bevægelsen af ​​dele af komplekse strukturer. Efter indstilling af den ønskede bevægelse, belysning og materialer, lanceres gengivelsesprocessen, hvor egenskaberne for alle objekter i scenen beregnes, og en sekvens af billeder genereres. 2D-animation bruger også det traditionelle frame-by-frame-princip, men bruger 2D-billeder til at skabe sekvensen.

Der er mange muligheder for videoredigering software produkter. Professionelle videoredigerere giver dig mulighed for at redigere flere videoer og lydkanaler og redigere videofragmenter til en enkelt komposition. De indeholder sæt overgange mellem frames, synkroniserer lyd og billede og understøtter også redigering og lagring af de mest populære videofilformater.

Programmer til at arbejde med lyd kan opdeles i to: store grupper: lydredigerere fokuseret på digitale teknologier lydoptagelse og sequencer-programmer.

Sequencere er designet til at skabe musik, de bruges til at kode musikalske kompositioner, så du kan registrere individuelle dele, tildele instrumentklang, bygge niveauer og balancer i kanaler og introducere musikalske indslag. Lyd redaktører Giver dig mulighed for at optage lyd i realtid HDD computer og transformer den ved hjælp af funktionerne digital behandling lydfrekvenser og kombinere forskellige kanaler.

Præsentationsværktøjer, der oprindeligt var designet til at skabe elektroniske slides for at hjælpe med at illustrere en oplægsholders budskab, bliver nu mere og mere multimedieorienterede. Der er et stort antal af sådanne programmer, der adskiller sig i sættet af visuelle effekter og animationseffekter, præsentationshåndteringsmetoder og sættet af understøttede multimediefiler til import som diasindhold. I bund og grund er en præsentation et informationsprodukt, der kombinerer alle multimedieformater til én helhed.

Udsigterne for multimedier er forskellige. Anvendelsesområderne vil udvides, herunder på grund af fremkomsten af ​​nye informationsteknologier og metoder til informationsbehandling. En kompetent kombination af multimedier med andre teknologier vil bidrage til deres mere dynamiske udvikling og endnu større integration i alle samfundssfærer.

For at implementere effektive og nyttige multimedieapplikationer ved hjælp af Intel Perceptual Computing-teknologi er det først og fremmest nødvendigt klart at definere, hvilke multimedieformater og i hvilket omfang der vil være involveret i specifik anvendelse og hvilke teknologier der er nødvendige for at arbejde med disse multimedieformater. Succesen for sådanne applikationer vil i høj grad afhænge af, hvor erfarne udviklerne er i at bruge visse plug-in-biblioteker af funktioner, der behandler multimediestrømmen. En sådan applikation vil kun være nyttig for brugeren, hvis den behandler multimedieindhold korrekt og er korrekt implementeret med teknisk punkt vision. Derfor, før du begynder at udvikle en multimedieapplikation ved hjælp af Intel Perceptual Computing, er det nødvendigt at studere principperne og funktionerne i multimediestrømbehandlingsteknologi, funktionsbiblioteker og eksempelprogrammer i detaljer. Kun hvis kontrol ved hjælp af Intel Perceptual Computing-teknologi supplerer nyttig og korrekt fungerende multimediefunktionalitet, vil udvikleren være i stand til at realisere alle fordelene ved synergien mellem multimedier og Perceptual Computing.

5.2. Fordele ved at bruge Intel Perceptual Computing SDK ved udvikling af multimedieapplikationer

Fordi Intel Perceptual Computing-teknologi giver dig mulighed for at skabe helt ny type menneske-computer-grænseflader, kan vi tale om fremkomsten af ​​en ny generation af multimedieapplikationer med et meget bredere udvalg af behandlingsmuligheder forskellige typer filer og datastrømme. Håndtering af multimediefiler går nu ud over de klassiske begreber menneske-computer-interaktion og bliver til en spændende kreativ proces. Brugen af ​​Perceptual Computing-teknologi øger graden af ​​interaktivitet af multimedieapplikationer, som i sig selv er et effektivt værktøj til engagement. Symbiosen mellem multimedieteknologier og Perceptual Computing er især effektiv inden for uddannelses- og underholdningssfærer af menneskelig aktivitet, men kan også bruges til kommercielle og reklamemæssige formål, ved forskellige præsentationer og demonstrationer.

Med den rigtige kombination af to teknologier tillader færdige applikationer både at løse simple og dagligdags brugerproblemer og fungere som et fleksibelt og komplekst værktøj inden for forskellige områder, herunder mediekunst og den digitale industri. Ved hjælp af Perceptual Computing kan du lette styringen af ​​komplekse softwaresystemer, der bruger flere multimedieteknologier og gør parallelt arbejde, for eksempel med grafik og lyd, der er mere brugervenlig. Med den gennemtænkte sammenlægning af flere multimedieteknologier i én applikation, får brugeren flere muligheder for at arbejde med digital information, som kun forbedres ved brug af gestus eller stemmestyring.

En af de mest almindelige måder at kombinere multimedie- og Perceptual Computing-teknologier på er at skabe forskellige simulatorer, der giver dig mulighed for at træne specifikke færdigheder, herunder simulatorer til at spille musikinstrumenter. Applikationer, der giver brugeren mulighed for at spille virtuelle musikinstrumenter, er ikke grundlæggende nye, men brugen af ​​en gestus-grænseflade giver mulighed for at opnå meget større realisme. En anden fordel ved sådanne simulatorer i forhold til standardimplementeringer uden gestus er evnen til at styre applikationen parallelt med begge hænder, hvilket også bringer virtuelle musikinstrumenter tættere på de rigtige.

Det enkleste eksempel på en musiksimulator er Drummer-applikationen, som giver dig mulighed for at simulere at spille trommer (fig. 5.1). Applikationens hovedfunktion er at optage lyd- og musikspor. Brugeren kan sammensætte et trommesæt af flere genstande, starte en optagesession, stoppe optagelsen. Simulatoren bruger bevægelser med begge hænder. Der gives fortrinsret til dynamiske bevægelser, ved at bruge optagelsesbevægelser til at flytte applikationsobjekter, en dobbelt tommelfinger op-bevægelse bruges til at stoppe optagelsen. Stemmekontrol ikke angivet i ansøgningen.


Ris. 5.1.

En anden brugssag for Intel Perceptual Computing er som dirigent for et virtuelt orkester (fig. 5.2). Applikationen overvåger frekvensen og størrelsen af ​​brugerens bevægelser og ændrer, afhængigt af disse karakteristika, lydstyrken og hastigheden på det musikspor, der afspilles. Programmet styres ved hjælp af karakteristiske dirigentbevægelser, og bevægelserne skal svare til størrelsen af ​​det musikalske beat i den komposition, der spilles. Faktisk genkender programmet sekvenserne af vandrette og lodrette strøg, der udgør dirigentens bevægelser. Yderligere funktionalitet er grafisk display aktuelt aktive orkesterpartier. Lignende applikation kan implementeres som et tillæg til evt populært program, læsning og gengivelse af musiktabulatur.


Ris. 5.2.

Da udviklere ikke er begrænset på nogen måde i valget af multimedieteknologier og måder at bruge dem på, er mere funktionelt komplekse implementeringer af musiksimulatorer mulige, beregnet til både uddannelses- og fritidsformål, der kombinerer flere multimedieteknologier. Det er muligt at lave simulatorer med forskellige niveauer kompleksitet eller brug yderligere enheder, såsom en bærbar multimedieprojektor. Et godt eksempel på en sådan ansøgning ville være softwarepakke, lærer brugeren at spille det virtuelle klaver. Visning ved hjælp af en projektor virtuelle nøgler på en vandret overflade ændrer applikationen farven på de tangenter, der skal trykkes på et eller andet tidspunkt under spillekompositionen. Samtidig overvåges bevægelserne af brugerens hænder og tasterne lukket af hans fingre. Ved at "trykke" på en tast afspilles den tilsvarende lyd, hvilket gør det klart for brugeren, hvor korrekt han spiller kompositionen. Du kan også tilføje visningen af ​​noter og en bevægelig afspillermarkering til hovedfunktionaliteten. Mere enkel implementering Denne type applikation er en efterligning af at spille en xylofon.

En anden type multimedieapplikation med en dominerende musikalsk komponent er synthesizere. De er primært anvendelige til underholdningsformål, men deres gestus-implementeringer kan potentielt blive en integreret egenskab af digital kunst. En af implementeringerne af denne type synthesizer er JOY-applikationen (fig. 5.3). Under udviklingen blev der ikke kun brugt lydteknologier, men også forskellige værktøjer til grafisk modellering og billedgenerering. Når applikationen starter, vælger brugeren et lydspor og starter afspilningen. Sammensætningen består af 10 numre, som styres ved at hæve og sænke fingrene. Ændring af afstanden mellem hænderne ændrer lydens efterklang (reflektion). Lodret bevægelse af håndfladerne i forskellige retninger regulerer vibrationsfrekvensen, lydbalancen og ekkoet ændrer sig, når håndfladerne bevæger sig væk og nærmer sig kameraet med dybdesensorer. Samtidig opstår videostyring. De aktive vises som prikker på skærmen. lydspor, geometriske objekter afhænger også af antallet af løftede fingre, der genkendes af applikationen, og pulserer i overensstemmelse med rytmen af ​​den sang, der spilles.


Ris. 5.3.

Videogenereringskontrol i realtid kan implementeres som separat ansøgning. I dette tilfælde vil hovedfunktionaliteten være generering af en sekvens af billeder, reguleret af brugerens stemme- og gestuskommandoer. De mange forskellige værktøjer til at arbejde med grafiske data bidrager til skabelsen af ​​et stort udvalg af lignende applikationer, der adskiller sig i metoderne til at generere billeder og tilgange til at styre disse processer. Først og fremmest bør sådanne applikationer opdeles efter typen af ​​genereret grafik i todimensionelle og tredimensionelle. Kompleksiteten af ​​implementeringen, rækken af ​​applikationsmuligheder og antallet af kontrolkommandoer vil afhænge af, hvilken type grafik der vælges.

Implementering af applikationer, der genererer en videostrøm fra 2D-billeder, er enklere og velegnet til udviklere, der lige er begyndt at blive fortrolige med grafiske teknologier og værktøjer. Videostrømmen oprettet ved hjælp af sådanne applikationer indeholder hovedsageligt abstrakt grafiske billeder, som deformeres og ændres over tid. Der er et stort antal forskellige biblioteker, der indeholder klasser og metoder til at arbejde med grafiske objekter, deres egenskaber og karakteristika, hvis brug vil forenkle oprettelsen af ​​animationsdelen af ​​applikationen. I dette tilfælde udføres implementeringen af ​​kontrol gennem en gestus-grænseflade ved at adskille funktionerne til at redigere egenskaberne for et grafisk objekt med funktionerne til at ændre banen og hastigheden af ​​dets bevægelse. For at lette applikationsstyring og skabe harmonisk animation anbefales det at vælge ét hovedgrafisk objekt og implementere alle andres adfærd som afhængig af hovedobjektets egenskaber og egenskaber. Som et eksempel på fordelingen af ​​ledelsesfunktioner grafisk objekt Du kan overveje en mulighed, når størrelsen af ​​objektet og dets position på skærmen justeres ved bevægelser af den ene hånd, og karakteristika som farve, form, rotationsvinkel indstilles ved hjælp af bevægelser fra den anden hånd. En yderligere funktion af en sådan applikation kan være at gemme den genererede videostream til en fil med mulighed for efterfølgende afspilning ved hjælp af en hvilken som helst multimedieafspiller.

Generering af en tredimensionel videostream i realtid (fig. 5.4) udføres efter et lignende princip, men det er mere udfordrende opgave, da det kræver, at bygherren forstår principperne for byggeri 3D billeder og avancerede 3D-biblioteksfærdigheder. Den grafiske komponent i en sådan applikation kan implementeres som den rumlige bevægelse af en klynge af flere homogene objekter med varierende egenskaber, for eksempel flere terninger af forskellig størrelse i forskellige grønne nuancer eller mere komplekse 3D modeller for eksempel efterligning af en kaotisk bevægende fiskestime. For at gøre det lettere at implementere grafikstyringsfunktioner anbefales det at indstille en hovedelement, og gør alle parametre for alle andre objekter afhængige af hovedobjektets position og tilstand.

Det anbefales at adskille styringen af ​​objektegenskaber og deres placering, som i tilfældet med todimensionel grafik. I dette tilfælde er det muligt at implementere ekstra funktionerændring af synsvinkel ved at kontrollere positionen af ​​brugerens ansigt og, når hovedet vippes, rotere den tredimensionelle scene i den passende retning. Det er også muligt at udvikle et system stemmekommandoer, der kontrollerer den tredimensionelle scene og miljøet omkring hovedobjekterne. For eksempel kan du give muligheder for at kontrollere baggrundsskyggen, graden af ​​belysning og gennemsigtighed af objekter og simulere yderligere effekter, der ved hjælp af forskellige teksturer simulerer forskellige fænomener i den virkelige verden, for eksempel havvand, orkanvinde, stærke flammer . En lignende teknik vil være acceptabel for applikationer, der genererer todimensionel video. grafik editor(Fig. 5.5) giver funktionalitet til at skabe og redigere volumetriske kroppe fra simple elementer, samt individuelt indstilling af farveegenskaber for hvert element, der udgør den oprettede krop. Kontrol over applikationen udføres ved hjælp af to markører, som styres af simple gestuskommandoer - to åbne håndflader og bevægelser af pegefingrene. Et tredimensionelt objekt er skabt af grundlæggende elementer - terninger af samme størrelse, for hver af dem er det muligt at bestemme en farve fra et paletspektrum. Implementeret tredimensionelle arbejdsområdekontrolfunktioner såsom at rotere rundt om et objekt, zoome ind, zoome ud og flytte

Hvad er multimedie

Multimedie i Delphi

TMediaPlayer-komponent

To typer programmer, der bruger multimedier

Eksempel program med multimedie

Anmeldelse

  1. Delphi gør det nemt og enkelt at inkludere multimedieobjekter såsom lyde, videoer og musik i programmet. I denne lektion diskuterer, hvordan man gør dette ved hjælp af Delphis indbyggede TMediaPlayer-komponent. Forvaltningen af ​​denne komponent i programmet og indhentning af information om den aktuelle tilstand diskuteres i detaljer.
  2. Hvad er multimedie
  3. Der er ingen præcis definition af, hvad det er. Men i dette øjeblik og på dette sted er det nok bedre at give den mest generelle definition muligt og sige, at "multimedia" er et begreb, der gælder for næsten alle former for animation, lyd, video, der bruges på computeren.

For at give en sådan generel definition skal det siges, at vi i denne lektion har at gøre med en delmængde af multimedier, som inkluderer:

1. Vis video i Microsofts Video til Windows-format (AVI).

2. Afspil lyde og musik fra MIDI- og WAVE-filer.

Denne opgave kan udføres ved hjælp af Microsoft Multimedia Extensions dynamiske bibliotek til Windows (MMSYSTEM.DLL), hvis metoder er indkapslet i TMediaPlay-komponenten, der findes på System-siden i Delphi Component Palette.

Afspilning af mediefiler kan kræve noget hardware og software. Så for at afspille lyde skal du have et lydkort. Til AVI afspilning Windows 3.1 (eller WFW) kræver, at Microsoft Video-software er installeret.

  1. Multimedie i Delphi
  2. Delphi har en TMediaPlayer-komponent, der giver dig adgang til alle de grundlæggende medieprogrammeringsfunktioner. Denne komponent er meget nem at bruge. Faktisk er det så enkelt, at mange uerfarne programmører vil finde det nemmere at oprette deres første program, der afspiller video eller musik frem for at vise den klassiske "Hello World"-meddelelse.

Brugervenlighed kan opfattes på to måder:

 På den ene side gør dette det muligt for enhver at skabe multimedieapplikationer.

 På den anden side kan du opleve, at ikke alle funktioner er implementeret i komponenten. Hvis du vil bruge funktioner på lavt niveau, bliver du nødt til at grave ret dybt ved at bruge Delphi-sproget.

Denne lektion beskriver ikke detaljerne for interne opkald til multimediefunktioner, når komponenten kører. Alt du behøver at vide er, at komponenten hedder TMediaPlayer, og at den giver adgang til et sæt rutiner skabt af Microsoft kaldet Media Control Interface (MCI). Disse rutiner giver programmøren nem adgang til en lang række multimedieenheder. Faktisk er det intuitivt og indlysende at arbejde med TMediaPlayer.

  1. TMediaPlayer-komponent

Lad os først oprette et nyt projekt, og derefter placere TMediaPlayer-komponenten (System Palette-siden) på formularen, som vist i figur 1.

Fig.1: TMediaPlayer-komponent på formularen.

TMediaPlayer-komponenten er designet som et enhedskontrolpanel med knapper. Ligesom på en båndoptager er der knapper til “play”, “rewind”, “record” osv.

Når du har placeret komponenten på formularen, vil du se, at objektinspektøren indeholder egenskaben "FileName" (se fig. 2). Klik to gange

Fig.2: TMediaPlayer-egenskaber i objektinspektøren

på denne ejendom og vælg filnavnet med AVI udvidelse, WAV eller

M.I.D. I fig. 2 er AVI-filen DELPHI.AVI valgt. Dernæst skal du indstille AutoOpen-egenskaben til True.

Når du har gennemført disse trin, er programmet klar til at køre. Når du har startet programmet, skal du klikke grøn knap"play" (yderst til venstre), og du vil se en video (hvis du valgte AVI) eller høre lyden (hvis du valgte WAV eller MID). Hvis dette ikke sker, eller der vises en fejlmeddelelse, er der to muligheder:

  1. Du kom ind forkert navn fil.
  2. Du har ikke konfigureret dit multimedie korrekt i Windows. Det betyder, at enten har du ikke den rette hardware, eller også har du ikke installeret nødvendige chauffører. Drivere er installeret og konfigureret i Kontrolpanel, hardwarekrav er angivet i enhver bog om multimedie (du skal f.eks. have et lydkort, der er kompatibelt med Sound Blaster).

Så du har mulighed for at afspille AVI-, MIDI- og WAVE-filer blot ved at angive filnavnet.

En anden vigtig egenskab ved TMediaPlayer-komponenten er Display. I første omgang udfyldes den ikke, og videoen afspilles i et separat vindue. Du kan dog bruge for eksempel et panel som skærm til at vise videoen. Du skal placere TPanel-komponenten på formularen og fjerne teksten fra Caption-egenskaben. Dernæst, for TMediaPlayer, i egenskaben Display, vælg Panel1 fra listen. Herefter skal du køre programmet og klikke på "play"-knappen (se fig. 3).

Fig.3: Afspilning af AVI på panelet.

      1. To typer multimedieprogrammer
      2.  Nogle gange har du brug for at give brugerne en nem måde at afspille et så bredt udvalg af filer som muligt. Det betyder, at du bliver nødt til at give brugeren adgang til harddisken eller cd-rom'en og derefter tillade ham at vælge og afspille den relevante fil. I dette tilfælde indeholder formularen normalt TMediaPlayer, som giver kontrol af afspilning.

 Nogle gange vil en programmør måske skjule eksistensen af ​​en TMediaPlayer-komponent for brugeren. Det vil sige afspil lyd eller video uden at brugeren bekymrer sig om dens kilde. Især lyd kan være en del af en præsentation. For eksempel kan visning af en graf på skærmen ledsages af en forklaring optaget i en WAV-fil. Under præsentationen ved brugeren ikke engang om eksistensen af ​​TMediaPlayer. Det virker i baggrunden. For at gøre dette gøres komponenten usynlig (Visible = False) og styres programmatisk.

      Eksempel program med multimedie

I dette kapitel vil vi se på et eksempel på at bygge en applikation med multimedier af den første type. Opret et nyt projekt (Fil | Nyt projekt). Placer TMediaPlayer på formularen; placer komponenterne TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox for at vælge filen. Indstil FileListBox1 i egenskaben FileList for DirectoryListBox1 og FilterComboBox1. Indsæt DirectoryListBox1 i DirList-egenskaben for DriveComboBox1. I egenskaben Filter for FilterComboBox1 skal du angive de nødvendige filtypenavne:

AVI-fil(*.avi)|*.avi

WAVE Fil(*.wav)|*.wav

MIDI-fil(*.MID)|*.mid

Lad det være Dobbeltklik med musen i FileListBox1 afspilles den valgte fil. Angiv i OnDblClick-hændelseshandleren for FileListBox1

Procedure TForm1.FileListBox1DblClick(Sender:TObject);

med MediaPlayer1 gør

FileName:=FileListBox1.FileName;

Formens udseende er vist i fig. 4

Fig. 4: Indledende billede af projektet

Gem projektet, kør det, vælg den ønskede fil og dobbeltklik på den. MediaPlayer bør afspille denne fil i et separat vindue.

Som nævnt ovenfor kan videoen afspilles inde i en formular, for eksempel i et panel. Lad os ændre projektet lidt og tilføje et TPanel der (se fig. 5). Angiv Panel1 i egenskaben Display for MediaPlayer1. Det er nødvendigt at fjerne inskriptionen fra panelet (Billedtekst)

og ejendom BevelOuter = bvIngen. For at skifte fra et vindue til et panel under afspilning skal du placere en TCheckBox på formularen og skrive i OnClick-hændelseshandleren for den:

procedure TForm1.CheckBox1Click(Afsender: TObject);

Start_Fra: Longint;

med MediaPlayer1 skal du begynde

hvis FileName="" så Afslut;

Start_From:=Position;

hvis CheckBox1.Checked derefter

Position:=Start_Fra;

Start projektet og afspil videoen. Klik på afkrydsningsfeltet.


  Fig.5: Tilføjet videoafspilningspanel og vindue/panelkontakt.

Under programafviklingen skal du muligvis vise den aktuelle tilstand for MediaPlayer-objektet og selve videoen (tid, der er gået siden starten af ​​afspilningen, længden af ​​videoen). Til dette har TMediaPlayer-objektet de tilsvarende egenskaber og hændelser: Længde, Position, OnNotify osv. Lad os tilføje en fremskridtsindikator (TGauge) til projektet, som vil vise i procent, hvor lang tid der er gået (se Fig. 6). Du kan bruge en timer til at opdatere indikatoraflæsningerne. Placer et TTimer-objekt på formularen, indstil dets interval = 100 (100 millisekunder). I OnTimer-hændelseshandleren skal du skrive:

procedure TForm1.Timer1Timer(Afsender: TObject);

med MediaPlayer1 gør

hvis Filnavn<>"" derefter

Gauge1.Progress:=Round(100*Position/Length);

Start projektet, vælg filen (AVI) og dobbeltklik på den. Når du afspiller en video, skal fremskridtsindikatoren vise den procentdel, der svarer til den forløbne tid (se fig. 6).


  Fig.6: Komplet applikation til afspilning af AVI-, WAV- og MDI-filer.

I dette kapitel vil vi se på et eksempel på at bygge en applikation med multimedier af den første type. Opret et nyt projekt (Fil | Nyt projekt). Placer TMediaPlayer på formularen; placer komponenterne TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox for at vælge filen. Indstil FileListBox1 i egenskaben FileList for DirectoryListBox1 og FilterComboBox1. Indsæt DirectoryListBox1 i DirList-egenskaben for DriveComboBox1. I egenskaben Filter for FilterComboBox1 skal du angive de nødvendige filtypenavne:

AVI-fil(*.avi)|*.avi

WAVE Fil(*.wav)|*.wav

MIDI-fil(*.MID)|*.mid

Lad den valgte fil afspilles ved at dobbeltklikke med musen i FileListBox1. Angiv i OnDblClick-hændelseshandleren for FileListBox1

Procedure TForm1.FileListBox1DblClick(Sender:TObject);

med MediaPlayer1 gør

FileName:=FileListBox1.FileName;

Formens udseende er vist i fig. 4.

Fig.4. Indledende visning af projektet

Gem projektet, kør det, vælg den ønskede fil og dobbeltklik på den. MediaPlayer bør afspille denne fil i et separat vindue.

Som nævnt ovenfor kan videoen afspilles inde i en formular, for eksempel i et panel. Lad os ændre projektet lidt og tilføje et TPanel der (fig. 5). Angiv Panel1 i egenskaben Display for MediaPlayer1. Du skal fjerne billedteksten fra panelet (Caption) og egenskaben BevelOuter = bvNone. For at skifte fra et vindue til et panel under afspilning skal du placere en TCheckBox på formularen og skrive i OnClick-hændelseshandleren for den:



procedure TForm1.CheckBox1Click(Afsender: TObject);

Start_Fra: Longint;

med MediaPlayer1 skal du begynde

hvis FileName="" så Afslut;

Start_From:=Position;

hvis CheckBox1.Checked derefter

Position:=Start_Fra;

Start projektet og afspil videoen. Klik på afkrydsningsfeltet.

Ris. 5. Tilføjet panel til videoafspilning og

vindue/panelkontakt.

Under programafviklingen skal du muligvis vise den aktuelle tilstand for MediaPlayer-objektet og selve videoen (tid, der er gået siden starten af ​​afspilningen, længden af ​​videoen). Til dette har TMediaPlayer-objektet de tilsvarende egenskaber og hændelser: Længde, Position, OnNotify osv. Lad os tilføje en fremskridtsindikator (TGauge) til projektet, som vil vise i procent, hvor lang tid der er gået (se Fig. 6). Du kan bruge en timer til at opdatere indikatoraflæsningerne. Placer et TTimer-objekt på formularen, indstil dets interval = 100 (100 millisekunder). I OnTimer-hændelseshandleren skal du skrive:

procedure TForm1.Timer1Timer(Afsender: TObject);

med MediaPlayer1 gør

hvis Filnavn<>"" derefter

Gauge1.Progress:=Round(100*Position/Length);

Start projektet, vælg filen (AVI) og dobbeltklik på den. Når du afspiller en video, skal fremskridtsindikatoren vise den procentdel, der svarer til den forløbne tid (se fig. 6).

Figur 6: Fuldført afspilningsapplikation

AVI, WAV og MDI filer.

3. FORSKNINGSOBJEKTER, UDSTYR, MATERIALER OG VISUELLE HJÆLPMEDEL

3.1. IBM-kompatibel computer.

3.2. Installeret operativ system Windows.

3.3. Installeret applikation Borland Delphi.

3.4. referencesystem Borland Delphi applikationer.

4. ARBEJDSOPGAVE

4.1. At studere de teoretiske principper for programmering i Borland Delphi-miljøet.

4.2. Gennemførelse af lærerens individuelle programmeringsopgave inden for rammerne af de problemstillinger, der diskuteres i dette laboratoriearbejde.

5. PROCEDURE FOR UDFØRELSE AF ARBEJDET

5.1. Sæt dig ind i de teoretiske principper for dette laboratoriearbejde.

5.2. Udfør individuelle programmeringsopgaver fra underviseren.

Øvelse 1

Brug multimediekomponenter til at oprette et program, der giver dig mulighed for at vælge og se videobilleder

Opgave 2

Suppler programmet med muligheden for at bestemme tidspunktet og størrelsen på den fil, der afspilles

5.3. Udarbejde en arbejdsrapport.

5.4. Beskytte laboratoriearbejde ved at besvare lærerens spørgsmål.

6.1. Beskrivelse af formålet med arbejdet.

6.2. Grundlæggende teoretiske principper for arbejdet

6.4. Beskrivelse af metoden til at løse en individuel opgave.

7. KONTROLSPØRGSMÅL

8. LISTE OVER BRUGTE KILDER

8.1. Delphi 7: [de fleste komplet guide] / A.D. Khomonenko [og andre]; under den generelle redaktion af A.D. Khomonenko - St. : BHV - St. Petersborg, 2007 .- 1216 s. : syg. (7 eksemplarer)

8.2. Programmering i Delphi 7 / P. G. Darakhvelidze, E. P. Markov - St. Petersburg: BHV-Petersburg, 2004 .- 784c. : syg. (1 kopi)

8.3 Osipov D. Delphi. Professionel programmering. - Sankt Petersborg: Symbol-Plus, 2006. -1056 s., ill.