ChannelPlaying mit best. Datei zu langsam
Übersicht

![]() |
EingeproggtBetreff: ChannelPlaying mit best. Datei zu langsam |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute!
Ja, von mir kommt auch mal wieder ein Problem das eine Diskussion bedarf. Mit der von mir verwendeten Hintergrundmusik (hier zu Testzwecken zum runterladen (Rechtsklick->Speichern unter bzw. Ziel speichern unter)) benötigt ChannelPlaying ![]() Testcode: Code: [AUSKLAPPEN] Global channel=PlayMusic("bg.mid")
Repeat time=MilliSecs() If Not ChannelPlaying(channel) Then Print "Restart" channel=PlayMusic("bg.mid") EndIf Print (MilliSecs()-time)+"ms" Delay 20 Until KeyHit(1) End Wieso ist das so und was kann ich nun tun, damit die Midi-Datei flüssig verarbeitet wird? (In MP3 will ich wegen dem Speicherplatz nicht unbedingt wandeln... In Midi ist dieses ~10min Stück gradmal 240kb groß!) Danke für eure Ratschläge! Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab es eben mit ein paar Midi-Dateien aus den guten altem Doom ausprobiert und hatte auch immer ~100ms. Wie man das umgehen kann, weiß ich nicht. Man sollte auch beachten dass auf unterschiedlichen Rechnern sich Midi-Dateien unterschiedlich anhören können. Also mit anders klingenden Instrumenten etc... Schon allein die selbe Datei unter BB und unter WinAMP ergibt einen Unterschied.
Was ich dazu empfehlen kann sind Modul-Dateien. Diese klingen nicht nur überall gleich, sondern sind auch noch relativ klein dabei. Also Musikdateien mit der Endung .mod, .xm, .s3m, .it können abgespielt werden. Und diese haben auch ~0ms Zugriffszeit. Ansonsten bleibt die Möglichkeit jede Midi-Datei dessen Spieldauer als Anhaltspunkt zu nehmen. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich weis es nicht 100% ig aber ich denke: wenn eine MIDI datei von BB abgespielt wird wartet Channelplaying auf die nächste Note und macht dann erst weiter...
vielleicht kommt es desshalb zu diesem verzug?!... ![]() |
||
Portfolio |LinkedIn |XING |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein das liegt an der api/vollbild api. midi dateien werden mit einem string zu einem parser gesendet. wenn das bb programm eben ausgelastet war dauerts länger. DLL's könnten helfen. wenn ich das midi besipiel für PB wieder finde kann ich dann sogar ne userlib erstellen
da isses ja: Zitat: ; Author: cnesm (updated for PB4.00 by blbltheworm)
;erstelle bank ;öffne midi datei mit SEQUENCER(Keyboard) als midiinstrument ;spiele die midi ab Buffer$=Space(128) mciSendString_("OPEN guitar_sample.mid TYPE SEQUENCER ALIAS MIDI",Buffer$,128,0) mciSendString_("PLAY MIDI",0,0,0) ;Schließt und stoppt die midi wieder mciSendString_("CLOSE MIDI",0,0,0) der befehl ist also mciSendString Parameter: String$, Buffer(Pointer zu einer Bank) Buffergröße(Größe deiner Bank), Int(kann null(0, nicht NULL) bleiben, hWnd) edit: argh frage falsch verstanden. ist aber derselbe befehl, suche dir auch gerne den string zum abfragen der infos raus edit2: http://msdn.microsoft.com/en-us/library/ms709492(VS.85).aspx http://msdn.microsoft.com/en-us/library/ms707322(VS.85).aspx msdn ist grade abgekackt kann also nicht wissen ob beide links richtig sind und ein ergebnis liefern |
||
Warbseite |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mir ist gestern vor dem Zu-Bett-Gehen noch eingefallen, dass es auch an der Latenz der Soundkarte liegen könnte. Zumindest würde es die stabilen 100ms erklären. Denn Midi-Dateien werden direkt auf der Soundkarte verarbeitet, während der ganze andere Kram vom Prozessor berechnet und so zur Soundkarte geschickt wird.
Berücksichtig man auch, dass Mini-Dateien auf unterschiedlichen Rechnern unterschiedlich klingen können, würde ich wirklich auf Module bauen. Diese sind ebenfalls sehr klein. Klingen auf jeden Rechner absolut identisch. Und man kann mit BB-Bordmittel mit 0ms auf den Status zugreifen. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habe nun endlich rausgefunden warum blitz solange braucht.
Blitz führt diese Playmidi immer in 1/10 sekunden schritt aus und deshalb wartet es da anscheinend solange.("PLAY ... FROM ... TO ...") (ich erhielt denselben effekt in pb mit der methode oben) |
||
Warbseite |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Danke!
Hab unter der Woche leider aum Zeit mich mitn programmieren zu beschäftigen aber jetzt wird erstmal n guter Musikkonverter gesucht der mod-Dateien erstellen kann ![]() mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
SUPER | ||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hatte ich mal... War auch wirklich super... nur leider konnte ich aus welchem grund auch immer weder mit PowerDVD noch mit Winamp Avi-Dateien abspielen wenn SUPER auf meinem PC installiert war...? | ||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da kann SUPER relativ wenig für, es ist nur ein frontend für ffmpeg und konsorten. | ||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also Trackermodule werden nicht zu diesen konvertiert, sondern werden dazu erstellt. Eine mod-Datei (die auch ein Trackermodul ist) beinhaltet einzelne Instrumente in ähnlicher Form wie wav-Dateien auch, die dann durch eine Tabelle (Tracker) bestimmt werden, wann und wie welches Instrument abgespielt werden soll. Erst dadurch wird so ein Trackermodul so klein, da jedes Instrument nur einmal abgespeichert werden muß, statt wie bei mp3-Dateien komplett auf die Musiklänge gezogen sind. Es ist also fast unmöglich eine mp3- oder wav-Datei automatisch in ein Trackermodul zu konvertieren. Man muß sie selbst komponieren, andere dazu beauftragen, oder man macht sich nach den unmengen des bereits vorhandenen Pool freier Trackermodule auf die Suche. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group