Italia
Fonte/ Codesnippets

Abspielen Midi Sound

 

KompilierenMarkierenSeparieren
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 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.638 Views

Untitledvor 0 min.
H.Brill30.10.2023
Sven Bader14.10.2021
Frank16.04.2021
Jupp Fitten31.07.2013
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (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