Italia
Online-Documentazione

mci.commands Textblock: Multimedia

 

Nico
Madysa
Um ein Gerät nutzen zu können, muss man es öffnen. Hierbei gibt es einige Wichtigkeiten zu beachten. Denn nicht jedes Gerät lässt sich auf dieselbe Weise öffnen.

Einfache Geräte öffnen

Bevor man ein Gerät nutzen kann, muss es erst initialisiert werden, wozu der open-Befehl dient.
Einfache Geräte sind beispielsweise CDAudio und Videodisc.

open Device [shareable] [alias alias]
Parameter Beschreibung
------------------------------------------------------DeviceDer Geräte-Type, z.B. CDAudio
shareablesiehe hier
aliassiehe hier
-----------------------------------------------------

Das folgende Beispiel öffnet eine Audio-CD unter dem Alias myCD und spielt diese ab.
MCISend$("open cdaudio alias mycd")
MCISend$("play mycd")

Übrigens!:
CDAudio und VideoDisc lassen sich auch als komplexe Geräte öffnen. Dazu ist, anstatt einem Dateinamen das CD-Laufwerk anzugeben, z.B.
MCISend$("open H: type cdaudio alias mycd")

Komplexe Geräte öffnen

Bevor man eine File nutzen kann, muss sie erst initialisiert werden, wozu der open-Befehl dient.
Komplexe Geräte sind z.B. WaveAudio und Sequencer.
Bei komplexen Geräten werden einzelne Elemente, also File genutzt.
Es gibt drei Wege, ein komplexes Gerät zu nutzen:
- Man gibt lediglich das Gerät an. Man kann dann nur Befehle
wie capability,sysinfo oder close nutzen.
z.B. MCISend$("sysinfo waveaudio quantity open")
- Man gibt nur den Dateinamen an. Das Gerät ermittelt die MCI durch
die Sektion [mci extensions] der WIN.INI.
z.B. MCISend$("open C:MyMusicTestA.wav alias test")
- Man gibt Gerät und Element(=Datei-) an. In dem Falle
ignoriert die MCI die Einträge in der WIN.INI.
z.B. MCISend$("open C:MyMusicTestA.wav type sequencer alias test")

oder MCISend$("open C:MyMusicTestB.mid type sequencer alias test")

Die Sektion [mci extensions] der WIN.INI potuto so aussehen:
[mci extensions]
wav=waveaudio
mid=sequencer
rmi=sequencer
mp3=mpegvideo

Die komplexeste Version:
open File [shareable] [type Device] alias aliasoder
open Device-Typ!File [shareable] alias alias

Parameter Beschreibung
---------------------------------------------------------------------------------------------------------
FileName der zu öffnenden File mit Pfad
shareablesiehe hier
DeviceDas Gerät, z.B. MPEGVideo
aliassiehe hier

Achtung!:

Da in langen Dateinamen(ab 32-Bit-Windows) Leerzeichen vorkommen können, die die MCI als Parameter-Trennung interpretiert, sollten Pfade, Strings, etc. die Leerzeichen enthalten KÖNNEN, mit Anführungszeichen eingeschlossen werden oder mittels @ShortName$() geschreddert werden. Ab XProfan8 ist das das Ersatzzeichen "q", davor ist Chr$(34) zu verwenen.
Bei
declare mci$
mci$ = "C:\MyMusic\TestA.wav"
mci$ = "open waveaudio!" + mci$ + " alias test"
mci$ = MCISend$(mci$)
case %MCIError : MessageBox(mci$,"",0)
MCISend$("close all")
würde die MessageBox einen Fehler ausgeben. In diesem Code

declare mci$
mci$ = ShortName$("C:\MyMusic\TestA.wav")
mci$ = "open waveaudio!" + mci$ + " alias test"
mci$ = MCISend$(mci$)
case %MCIError : MessageBox(mci$,"",0)
MCISend$("close all")
potrebbe dagegen alles klappen.
Meine Empfehlung: Da die !-Form keine andere Wirkung hat als die Anderen, empfehle ich auf die Standart-Form, also open-type-alias zurückzugreifen. Sollten Sie allerdings in ihrer Anwendung (vielleicht wegen anderen Problemen mit langen Dateinamen?) Pfade grundsätzlich mit ShortName$() schreddern, können Sie die !-Form getrost verwenden.

Achtung!:
ShortName$() funktioniert nur bei tatsächlich existenten File und Pfaden.

------------------------------------------------------
Abspielen:

MCISend$("play A [from S] [to E]")

A: Alias, Gerät oder all
from S: Das Abspielen beginnt an der Position S.
Fehlt dieser Parameter, startet das Abspielen
an der aktuellen Position.
to E: Das Abspielen endet bei der Position E
Fehlt dieser Parameter, endet das Abspielen am
Ende der File oder beim nächsten stop-Befehl.

------------------------------------------------------
Pausieren/Stoppen:

MCISend$("pause <Gerät>") , MCISend$("resume <Gerät>") und MCISend$("stop <Gerät>")

Pause hält das Abspielen/Aufnehmen einer File an, es lässt sich mit resume wieder fortsetzen.
Stop hingegen beendet das Abspielen wirklich.
Stoppen hat nichts mit schließen zu tun.
Geschlossen wird ein Gerät mit
MCISend$("close <Gerät>").

Das sind nur die grundsätzlichsten Befehle.
Konkreteres und noch viel mehr findet ihr in der MCI.hlp.
 
Nico Madysa
17.11.2006  
 



Note / Question or Comment to the Help--Topic


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.485 Views

Untitledvor 0 min.
E.T.09.02.2013

Themeninformationen

Dieses Thema hat 1 subscriber:

Nico Madysa (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie