AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi MIDI-Dateien als Ressourcen einbinden & abspielen
Thema durchsuchen
Ansicht
Themen-Optionen

MIDI-Dateien als Ressourcen einbinden & abspielen

Ein Thema von 3_of_8 · begonnen am 6. Sep 2005 · letzter Beitrag vom 30. Nov 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 8. Sep 2005, 20:44
Ja, Ja, Ja, Nein, Ja.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 8. Sep 2005, 21:14
Das Nein bedeutet also, dass du in der MediaPlayer bei Filename eine existierende Midi-Datei ausgewählt hast, z.B. "C:\WINDOWS\Media\town.mid", danach das Programm gestartet und dann auf Play gedrückt hast (oder programmtechnisch gemacht) ... und dann hörst du nichts.

Also ich habe gerade mal eine kleine Testanwendung gemacht, da klappts auf Anhieb.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 8. Sep 2005, 21:21
Hmm... In meiner Testanwendung klappt es auch auf Anhieb...
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 8. Sep 2005, 21:31
Jetzt funzt es. Frag mich nicht warum. Danke noch mal.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 9. Sep 2005, 17:35
Kann ich die MIDI wirklich nicht direkt aus der Ressource abspielen?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#16

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 9. Sep 2005, 17:48
das geht leider nicht.... obwohl... du könntest schauen, ob die Mediaplayerkomponente ein LoadFromStream hat.... falls ja, dann kannst du den Inhalt der Ressource in nen Memorystream schreiben und abspielen (hab leider kein Delphi hier um das zu prüfen)
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#17

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 9. Sep 2005, 17:50
Wenn ich mich recht erinnere, kann man mittels Bass.dll auch direkt aus Resourcenabspielen, bin mir aber nicht sicher.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#18

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 9. Sep 2005, 18:10
Also die TMediaPlayer-Komponente arbeitet über das MCI-Interface und braucht daher IMHO eine Datei. Was ist das Problem dabei? Einfach in's temporäre Verzeichnis entpacken und beim Beenden der Anwendung wieder löschen (du kannst ja immer denselben Dateinamen benutzen).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#19

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 30. Nov 2005, 10:06
Auch ich experimentiere mit dem Resourcenkram rum.

WAV klappt einwandfrei über den playsound
MP3 als WAV getarnt ebenso

nun wollte ich ein .midi ebenfalls einbinden und habe mit dazu, wie hier in der DP beschrieben die bassdll installiert und versuche die zu nutzen. Da bekomme ich nur eine Fehlermeldung(Resource EURO wurde nicht gefunden). Kann mir mal jemand den korrekten Aufruf mitteilen?

BassdllPlayer1.LoadFromResourceName('EURO' ,RC_MUSIC)

meine .rc hier anbei:


MUSIK Wave "a.wav" -klappt
SPUEL Wave "b.wav" -klappt
HYMNE Wave "c.wav" -klappt
EURO MIDI "4.mid" -klappt nicht



Danke und Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#20

Re: MIDI-Dateien als Ressourcen einbinden & abspielen

  Alt 30. Nov 2005, 11:20
So - habs jetzt rausgefunden und möchte €uch diese recht einfache Variante nicht vorenthalten.


irgendwo im projekt global definieren:

const filename :string = '~tmp.mid';

dann eine Funktion, die das abspielen startet:

Delphi-Quellcode:
function startmidi(_resourcename : string) : boolean
var _sstream: TCustomMemoryStream;
begin
  try
    _sstream := TResourceStream.Create(hInstance, _resourcename, 'MIDIFILE');
    _sstream.SavetoFile(filename);
  finally
    _sstream.Free;
  end;
  MCISendString(PChar('play '+ filename), nil, 0, 0);
  result := true;
end;
und hier die Funktion für das Beenden
Delphi-Quellcode:
function endmidi : boolean
begin
  MCISendString(PChar('stop ' + Filename), nil, 0, 0);
  MCISendString('close sound', nil, 0, 0);
  if fileexists(filename) then deletefile(filename);
  result := true;
end;
Nachtrag: Die .RC - Datei (heisst bei mir: mucke.rc)

EURO midifile "4.mid" Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz