![]() |
Sound abspielen MediaPlayer ist zu langsam mmsystem läuft ni
Hi,
ich hab einen kleinen kompakten Sound den ich in MouseMove abspielen will. Der MediaPlayer ist zu langsam, mmsystem geht auch nicht [
Delphi-Quellcode:
]
procedure TForm1.infouswMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin { ... } sndPlaySound(PChar('click.wav'),SND_ASYNC); end; es hört sich komisch an, wisst ihr woran das liegt ? |
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
Zitat:
wieso ist der MediaPLayer denn zu langsam ? Bei mir ist der eigentlich recht schnell... :gruebel: |
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
ich rufe ihn in OnMouseMove auf, dafür ist er viel zu langsam da ich den Sound sofort brauche.
|
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
das liegt nicht wirklich am mediaplayer sondern viel mehr daran das er erst von der Festplatte gesucht werden muss und dann abgespielt. Du könntest das ganze verbessern in dem du den sound schon vorher lädst und die datei öffnest, und dann bei bedarf nur noch abspielst (wobei du den sound möglichst als ressource einbinden solltest weil sonst wieder erst der plattenzugriffe ne weile dauert)
|
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
Hat der mediaplayer da irgendeinen Befehl ich hab keinen gefunden ?
|
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
Versuchs mal mit der mmsystem das: (Wenn dus das Lied als Resource eingebunden hast)
Delphi-Quellcode:
oder sieh dir andere Komponenten wir die bass.dll an.
PlaySound(nil,0,0);
PlaySound('MP3Resource',hInstance,SND_RESOURCE or SND_ASYNC); |
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
also mit folgendem befehl kannst du deine datei schonmal laden
Delphi-Quellcode:
und so spielst du sie dann hab
mciSendString(PChar('open "' + fFilename + '" alias ' + fAliasName), nil, 0, 0)
Delphi-Quellcode:
fAliasName ist dabei ein String (kannst dir irgend einen Aliasnamen ausdenken) und fFilename ist ebenso ein String mit dem Dateinamen
var LGenericParams: TMCI_Generic_Parms;
begin LGenericParams.dwCallback := 0; mciSendCommand(fAliasHandle, MCI_PLAY, MCI_NOTIFY, Cardinal(@LGenericParams)) achja, schließen des ganzen nicht vergessen
Delphi-Quellcode:
Du kannst das ganze natürlich auch noch einfacher schreiben, habs nur bei mir aus nem project rauskopiert.. Achja, zum Betreff: hast zwar geschrieben das mmsystem nicht läuft wobei mmsystem doch aber eigentlich ne Unit ist?! falls du mci meinst dann würd ichs nicht verstehen weil der TMediaPlayer auch die MCI-Commandos nutzt.
mciSendString(PChar('close ' + fAliasName), nil, 0, 0);
|
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
Was für einen Sinn macht es, bei OnMouseMove einen Sound abzuspielen? Ich stelle mir das fürchterlich vor. Sobald man die Maus bewegt wird immer ein Ton abgespielt.
|
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
thx
@spider: darfst dreimal raten: Menü etc... |
Re: Sound abspielen MediaPlayer ist zu langsam mmsystem läuf
Hi.
@Nils_13 : Spider hat Recht. OnMouseMove wird aufgerufen, sobald sich die Maus bewegt und der Zeiger über deiner Komponente steht. Ich würde das als sehr nervig empfinden, wenn ich die Maus bewege und es dauernd *pling* (dein Sound ist doch hoffentlich nicht länger) macht... Mach deinen Ton besser in OnClick oder so... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz