Français
Source/ Codesnippets

Abspielen Midi Sound

 

KompilierenMarqueSéparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Sound: Midi abspielen
Midi per MCI Dieter Zornow
Declare Midierror&

Proc Midi_Open

    Parameters MidiFile$

    If @NEq$(MidiFile$,)

        @MCISend$(OPEN +@Chr$(34)+MidiFile$+@Chr$(34)+ TYPE SEQUENCER ALIAS Midi_play)
        @MCISend$(set Midi_play time format ms)

    EndIf

EndProc

Proc Midi_Stop

    @MCISend$(STOP Midi_play)
    @MCISend$(CLOSE Midi_play)

EndProc

Proc Midi_Close

    @MCISend$(CLOSE Midi_play)

EndProc

proc Midi_Error

    if %mcierror

        declare tz$,mess$
        let tz$=Device Error
        let mess$=Sorry, The Player can´t play this File
        @messagebox(mess$,tz$,48)
        Midi_Stop
        Midi_Close
        let Midierror&=1
        return Midierror&

    endif

    let Midierror&=0
    return Midierror&

endproc

Proc Midi_Play

    @MCISend$(PLAY Midi_play)

EndProc

Proc Midi_PlayLoop

    @MCISend$(PLAY Midi_play LOOP)

EndProc

Proc Midi_PlayFromTO

    parameters from$,to$
    @MCISend$(PLAY Midi_play FROM +from$+ TO +To$)  Spielt von Track bis Track mit Parameter from& to&

EndProc

Proc Midi_SeekToEnd

    @MCISend$(SEEK Midi_play TO END) Sucht Vorwärts bis zum Ende

EndProc

Proc Midi_SeekToStart

    @MCISend$(SEEK Midi_play TO START) Sucht Rückwärts bis zum Anfang

EndProc

Proc Midi_SeekTO

    Parameters pos$
    @MCISend$(SEEK Midi_play TO +pos$) Sucht bis zur Position

EndProc

Proc Midi_Pause

    @MCISend$(PAUSE Midi_play)

EndProc

Proc Midi_PlayMode

    Declare Midi_Result$
    Let Midi_Result$=@MCISend$(STATUS Midi_play MODE)zeigt den Zustand (stopped, playing, paused, not ready)
    Return Midi_Result$

EndProc

Proc Midi_length LengthMidi weiter unten benutzen für Umrechnung

    Declare Midi_Result$
    Let Midi_Result$=@MCISend$(STATUS Midi_play LENGTH) Länge der Midi
    Return Midi_Result$

Endproc

Proc Midi_position posMidi weiter unten benutzen für Umrechnung

    Declare Midi_Result$
    Let Midi_Result$=@MCISend$(STATUS Midi_play POSITION) aktuelle Position
    Return Midi_Result$

Endproc

Proc MidiTempo

    parameters tempo$
    Let Midi_Result$=@MCISend$(SET Midi_play TEMPO +tempo$)
    set clavier tempo 170

endproc

Proc LengthMidi rechnet in Minuten Sekunden der String 00:00

    declare lang&,sek%,wert$,lang$,temp$
    Midi_length
    Let lang&=@Val(@&(0))
    let sek%=@div&(lang&,1000)
    let lang&=@div&(sek%,60)
    let temp$=add$(str$(lang&),:)

    If @equ(@len(temp$),2)

        let wert$=@add$(0,temp$)

    else

        let wert$=temp$

    endif

    let sek%=@sub(sek%,@mul(lang&,60))

    If @lt(sek%,10)

        let wert$=@add$(wert$,0)
        let wert$=@add$(wert$,@str$(sek%))

    else

        let wert$=@add$(wert$,@str$(sek%))

    endif

    Return wert$

EndProc

Proc PosMidi rechnet in Minuten Sekunden der String 00:00

    declare lang&,sek%,wert$,lang$,temp$
    let wert$=00:00
    Midi_position
    let lang&=@Val(@&(0))
    let sek%=@div&(lang&,1000)
    let lang&=@div&(sek%,60)
    let temp$=add$(str$(lang&),:)

    If @equ(@len(temp$),2)

        let wert$=@add$(0,temp$)

    else

        let wert$=temp$

    endif

    let sek%=@sub(sek%,@mul(lang&,60))

    If @lt(sek%,10)

        let wert$=@add$(wert$,0)
        let wert$=@add$(wert$,@str$(sek%))

    else

        let wert$=@add$(wert$,@str$(sek%))

    endif

    Return wert$

Endproc

beispiel
cls
Midi_open C:WINDOWSMEDIATOWN.MID
Midi_open MIDI_01.MID
LengthMidi
print @$(0)
Midi_PlayMode
Print Playmode:,@$(0)
Midi_Play
Midi_PlayMode
Print Playmode:,@$(0)
Print klick für Pause
waitinput
Midi_Pause
Midi_PlayMode
Print Playmode:,@$(0)
Print klick für weiter und Positon
waitinput
Midi_Play
Midi_PlayMode
Print Playmode:,@$(0)
PosMidi  In schleife abfragen
print @$(0)
../../funktionsreferenzen/XProfan/waitinput/'>waitinput
Midi_Stop
Midi_Close
 
16.07.2007  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.639 Views

Untitledvor 0 min.
H.Brill30.10.2023
Sven Bader14.10.2021
Frank16.04.2021
Jupp Fitten31.07.2013
plus...

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie