 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Eastler_dart

Anmeldungsdatum: 25.09.2005 Beiträge: 177 Wohnort: Baden-Würtemberg + Sachsen
|
Verfasst am: 05.02.2008, 23:17 Titel: Töne von FB unter Win und Lin ? |
|
|
Hi Leute,
bastle grad an nem Progi, welches später mal auch Töne von sich geben soll.
Nachdem ich per Suche nix aussagekräftiges gefunden hab, dachte ich, frag doch einfach
worum geht's:
Da mein Programm Grafikintensiv läuft, möchte ich mit dem Sound nur so wenig wie möglich den Rechner belasten.
Es sollte aber auch Betriebssystemunabhängig sein, da ich sowohl für Windows als auch für Linux (und ggf Dos) einen Code schreiben will.
was brauch ich:
Könnt ihr einfach mal mit euerem Fachwissen grob umreisen, wie ich das angehen könnte?
Kann mir ja denken, das die Soundkarten alle unterschiedlich sind, und ehrlich gesagt, direkt ansprechen möcht ich die dann doch nicht wirklich.
Daß sowas mit ner Bibliothek gehen könnte, kann ich mir ebenfalls denken - bei meinen Träumen wirds eh auf sowas rauslaufen
Geht das auch anders?
Da ich als Bibliothek nur allegro probiert hab - gibt es kleinere Bibliotheken für Soundausgabe?
bzw - hat jemand schon mal probiert, von allegro nur den Soundteil einzubinden ( den Grafikteil brauch ich ja nicht) bleibt dann das fertige .exe kleiner als mit Grafikteil?
Besten Dank schon mal im voraus
Eastler _________________ Kaum macht mans richtig, schon geht's |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 05.02.2008, 23:23 Titel: |
|
|
zur zeit eignet sich FMOD ganz gut für plattformübergreifende soundausgabe, aber spätestens, wenn BASS auch für linux verfügbar ist, gibt es keinen grund mehr, FMOD zu benutzen... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
peter_u

Anmeldungsdatum: 19.09.2006 Beiträge: 17 Wohnort: Remscheid, NRW
|
Verfasst am: 06.02.2008, 03:37 Titel: Sound abspielen |
|
|
Hallo,
ich hatte auch das Problem. Dank fb_mci.bas von Einlander fixed by Volta (Danke) konnte ich damit problemlos Sound einbinden - vielleicht kannst Du das gebrauchen:
Code: |
'' hier ein Include, als ' #include "fb_mci.bas" ' am Anfang deines Programms einfügen.
#include once "windows.bi"
#include once "win/mmsystem.bi"
'[ FREEBASE[IC] AUDIO WRAPPER BY EINLANDER]
'Freebasic specific audio wrapper for the windows mmsystem
'Die Orginalversion von EINLANDER ist leider im Internet nicht mehr zu finden?
'(fixed for FB 0.15b by Volta)
'Das Programm spielt MID, WAV und MP3 Audiodateien ab.
'Es ist so kompakt, das es in dein Programm direkt einkopiert oder als #Include eingebaut werden kann.
'Es lässt dem Anwender alle Freiheiten seine Audiodateien einfach im Programmablauf zu 'starten, stoppen, wiederholen oder abzubrechen.
'Warnung:
'Das Programm hat keine Fehlerabfrage, bei Fehlaufrufen kann es abstürzen oder sich aufhängen.
'Aufrufe:
'öffnen eines Audiofiles zum Abspielen:
' FB_MCI_open (AudioFILENAME als String, AliasName als String)
' Mit dem AliasName wird der Aufruf sehr einfach.
' zuerst Audiofile öffnen und AliasName vergeben zB.: FB_MCI_open "99lb3.mid", "Volta"
' dann FB_MCI "play","volta" und nicht vergessen FB_MCI "close","Volta" zum Schluss
'Sartet die Wiedergabe des Audiofiles
' FB_MCI ("play"["on"]["an"],AliasName als String)
'Beendet das Abspielen des Audiofiles
' FB_MCI ("close"["off"]["aus"],AliasName als String)
'Stopt das Abspielen des Audiofiles
' FB_MCI ("Stop",AliasName als String)
' nach einem Startbefehl wird vom Anfang an abgespielt
'Spieldauer des Audiofiles abfragen (Rückgabewert in Millisekunden)
' x = FB_MCI ("length"["len"],AliasName als String)
'aktuelle Abspielposition abfragen (Rückgabewert in Millisekunden)
' x = FB_MCI ("position"["pos"],AliasName als String)
Function FB_MCI(ByVal FB_MCICOMMAND As String, ByVal f_Alias As String) As Integer
Dim temp As String *256
f_Alias = UCase(f_Alias)
Select Case LCase(Trim(FB_MCICOMMAND))
Case "play","on","an"
mciSendString("play " & f_Alias &" from " & 0, NULL, 0, 0)
Case "close","off","aus"
mciSendString("close " & f_Alias, NULL, 0, 0)
Case "stop"
mciSendString("stop " & f_Alias, NULL, 0, 0)
Case "length","len"
mciSendString("status " & f_Alias & " length", temp, 256,0)
FB_MCI = Val(temp)
Case "position","pos"
mciSendString("status " & f_Alias & " position", temp, 256, 0)
FB_MCI = Val(temp)
End Select
End Function
Function FB_MCI_open(ByVal FILENAME As String, ByVal f_Alias As String) As Integer
f_Alias = UCase(f_Alias)
FB_MCI ("close",f_Alias)
FB_MCI_open = mciSendString("open " & Chr(34) & FILENAME & Chr(34) & " alias " & f_Alias, NULL, 0, 0)
mciSendString ("set " & f_Alias & " time format milliseconds", NULL, 0, 0)
End Function
|
Happy Programming.
peter _________________ Der alte Mann lernt noch
--- Learning by doing --- |
|
Nach oben |
|
 |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
Verfasst am: 06.02.2008, 07:42 Titel: |
|
|
Aber Vorsicht, die [ code ]-Tags verfälschen einiges.
z.B. hier:
Select Case LCase(Trim(FB_MCICOMMAND))
Case "play","on","an"
mciSendString("play " & f_Alias &" from " & 0, NULL, 0, 0)
Case "CLOSE","off","aus"
mciSendString("close " & f_Alias, NULL, 0, 0)
Case "STOP"
mciSendString("stop " & f_Alias, NULL, 0, 0)
Case "length","LEN"
mciSendString("status " & f_Alias & " length", temp, 256,0)
FB_MCI = Val(temp)
Case "position","pos"
mciSendString("status " & f_Alias & " position", temp, 256, 0)
FB_MCI = Val(temp)
End Select
Das gehört klein (wegen LCase) |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 06.02.2008, 11:24 Titel: |
|
|
Ist aber auch nur eine Windows-only Lösung durch MCI. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.02.2008, 16:25 Titel: |
|
|
FMOD ist riesig und hat ne schlechte MOD-Engine  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
croco97

Anmeldungsdatum: 04.11.2005 Beiträge: 260
|
Verfasst am: 07.02.2008, 14:19 Titel: |
|
|
FBSOUND nur, wenn FBSOUND nicht die Win-API benutzt.
EDIT:
Ah, sorry, habe gerade gesehen, dass es in der Tat ne Linux-Version gibt.
Grüsse!
Croco |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 07.02.2008, 18:33 Titel: |
|
|
Hier sind Links zu den FBSOUND-Libs für FB0.18.3 . _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|