Deutsch
Online-Dokumentation

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 Datei 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 Dateien 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 könnte so aussehen:
[mci extensions]
wav=waveaudio
mid=sequencer
rmi=sequencer
mp3=mpegvideo

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

Parameter Beschreibung
---------------------------------------------------------------------------------------------------------
DateiName der zu öffnenden Datei 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")
dürfte 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 Dateien 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 Datei 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 Datei 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  
 



Hinweis/ Anmerkung/ Frage zum Hilfethema


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.496 Betrachtungen

Unbenanntvor 0 min.
E.T.09.02.2013

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

Nico Madysa (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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