![]() |
ich glaube ich weiß wo das problem liegt:
so eine änliche fehldermeldung habe ich auch erhalten du musst einfach in die FMod.pas gehen und dort: (oben) {$Define MSWindows} wobei ich garnicht mehr weiß ob das MSWindwos war(muss halt mal nach schauen;) ich habe jetzt auch noch ein kleines problem: kann mir jemmand ein einfaches beispiel schreiben ? wie spiele ich eine datei mit den FMod lib ab ? das ist mein problem......... mein versuch:
Code:
geht aber leider nicht;)
FSOUND_Stream_OpenFile(PChar(FileListe.Strings[ListBox1.ItemIndex]), FSOUND_NORMAL or FSOUND_LOOP_NORMAL, 0);
FMUSIC_LoadSong(PChar(FileListe.Strings[ListBox1.ItemIndex])) |
ich habs so gemacht:
Delphi-Quellcode:
// OPEN STREAM Stream := FSOUND_Stream_OpenFile(PChar(Datei), FSOUND_LOOP_NORMAL or FSOUND_NORMAL, 0); if stream = nil then begin Showmessage('Error! Opening file - ' + FMOD_ErrorString(FSOUND_GetError())); FSOUND_Close(); Exit; end; // PLAY STREAM channel := FSOUND_Stream_Play(FSOUND_FREE, stream); if channel < 0 then begin showmessage('Error! Play - ' + FMOD_ErrorString(FSOUND_GetError())); FSOUND_Close(); exit; end; |
Danke! werde ich testen;)
MFG Michael Springwald |
also bei:
Code:
so sieht nur nun der code aus
var
test:PFMusicModule; Datei:String; Stream: PFSoundStream; Channel: Integer; begin Datei:='E:\test.it'; // OPEN STREAM Stream := FSOUND_Stream_OpenFile(PChar(Datei), FSOUND_LOOP_NORMAL or FSOUND_NORMAL, 0); if stream = nil then begin Showmessage('Error! Opening file - ' + FMOD_ErrorString(FSOUND_GetError())); FSOUND_Close(); Exit; end; // PLAY STREAM channel := FSOUND_Stream_Play(FSOUND_FREE, stream); if channel < 0 then begin showmessage('Error! Play - ' + FMOD_ErrorString(FSOUND_GetError())); FSOUND_Close(); exit; end; aber es kommt eine Fehlermeldung vom Programm. Fehlermeldung:
Code:
was einer was los ist ?
Error! Opening file - This command failed because FSound_Init was not called
MFG Michael Springwald |
Ich habe es jetzt hinbekommen aber:
Wie spiele ich .it Dateien ab ? in der Demo geht das alles aber warum nicht in meinem progrmam ? MFG Michael Springwald |
so ich habe jetzt alle Problme gelöst erstmal.
Mein code:
Code:
was kann man andres bzw. besser machen ?
var
test:PFMusicModule; Datei:String; Stream: PFSoundStream; Channel: Integer; Module: PFMusicModule; begin Datei:=FileListe.Strings[ListBox1.ItemIndex]; if not FSOUND_Init(22050, 128, 0) then begin Application.MessageBox(FMOD_ErrorString(FSOUND_GetError), 'FSOUND_Init', MB_OK or MB_ICONHAND); Halt; end; // OPEN STREAM Stream := FSOUND_Stream_OpenFile(PChar(Datei), FSOUND_LOOP_NORMAL or FSOUND_NORMAL, 0); if Stream = Nil then Module:=FMUSIC_LoadSong(PChar(Datei) ); if Module = nil then begin Showmessage('Error! Opening file - ' + FMOD_ErrorString(FSOUND_GetError())); FSOUND_Close(); Exit; end; // PLAY STREAM if Stream <> nil then begin channel := FSOUND_Stream_Play(FSOUND_FREE, stream); if channel < 0 then begin showmessage('Error! Play - ' + FMOD_ErrorString(FSOUND_GetError())); FSOUND_Close(); exit; end; end else if Module <> NIL then FMUSIC_PlaySong(Module); // FSOUND_SetPan(Channel, FSOUND_STEREOPAN); // FSOUND_SetVolume(Channel, 255); nun habe ich noch ein paar fragen: Was für Datentypen werden in meiner version unterstützt ? (ich weiß das it,s3m,xm,mod,wav,mp3,wav,midi einbandfrei funktionieren) und darf ich ein programm wo ich die "FMod lib" nutze veröffentlichen ? also als Freeware oder was muss ich da beachten ? (weil ich kann nicht so gut ENGLISCH) Wie kann ich wenn ich eine datei anhöhre pause machen bzw stoppen. so mehr Fragen habe ich erstmal nicht. Danke schonmal im vorraus für die antworten. MFG Michael springwald |
Code:
Warum nicht 44100 und 32 ?
if not FSOUND_Init(22050, 128, 0) then
Und du musst sicher noch FSOUND_Close am Ende aufrufen? Zitat:
Zitat:
Ansonsten siehe ![]() Zitat:
|
Code:
das habe ich aus der Demo;)
Warum nicht 44100 und 32 ?
Und du musst sicher noch FSOUND_Close am Ende aufrufen? FSound_Close rufe ich glaube ich nicht auf. gut!Dann habe ich erstmal keine Frage mehr;) MFG Michael Springwald |
noch eine Frage:
Wie bekomme ich die MaxiMale zeit eines MusikFiles raus ? MFG Michael Springwald |
Re: Probleme mit FMod
Code:
function TFmodEngine.Get_Time : integer; // Get Time
begin if Stream <> nil then result:= FSOUND_Stream_GetTime(Stream); if (PlayerState = ENGINE_STOP) or (PlayerState = ENGINE_SONG_END) then Result := 0 end; function TFmodEngine.Get_SongLen : Integer; //Get SongLen var MilliSec : integer; begin if Stream <> nil then begin MilliSec := FSOUND_Stream_GetLengthMs(stream); result:= MilliSec; end; if (PlayerState = ENGINE_STOP) or (PlayerState = ENGINE_SONG_END) then Result := 0 end;
Code:
function SecondToTime(const m_secondes : String) : string; var minutes : Integer; secondes : Integer; m_secondsToTime : String; begin minutes := StrToInt(m_secondes) div 60; secondes := StrToInt(m_secondes) - minutes * 60; m_secondsToTime := Format('%.2d:%.2d', [minutes, secondes]); result := m_secondsToTime; end; Total_Time.Caption:= FormatDateTime ('hh:nn:ss',(Get_Time div 1000)/ (24 * 60 * 60)); Cur_time.Caption:= FormatDateTime ('hh:nn:ss',(Get_SongLen / 1000)/ (24 * 60 * 60)); label1.Caption:= SecondToTime(inttostr(Get_SongLen div 1000)); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 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