Español
Fuente/ Codesnippets

Abspielen Midi Sound

 

KompilierenMarcaSeparación
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


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.637 Views

Untitledvor 0 min.
H.Brill30.10.2023
Sven Bader14.10.2021
Frank16.04.2021
Jupp Fitten31.07.2013
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie