Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Fragen zu fmod

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 18.02.2007, 00:16    Titel: Fragen zu fmod Antworten mit Zitat

Hallo, ich arbeite mit Fmod und habe 2 Fragen:

1. Wenn ich einen sample in einer Do:Loop schleife abspielen will, wird der sample erst wiederholt, wenn er vorher korrekt zuende abgespielt wurde. Wie kann ich ein "überlappen" ermöglichen ?

2. Wenn ich im hintergrund einen einen sample im loop laufen lasse und noch einen anderen sample einzeln gleizeitig abspielen lassen möchte, wie kann ich die den unterschiedlichen samples UNTERSCHIEDLICHE lautstärken zuweisen? Bzw. welche Channles stehen mir zur verfügung ?
Ich bekomme sie immer nur gleichlaut hin.

Ich hoffe hier kann mir jemand helfen, im englischen Forumen antwortet mir keiner missbilligen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.02.2007, 00:24    Titel: Antworten mit Zitat

1: FMOD_FREE oder so ähnlich musst du benutzen, um einen freien kanal asuzuwählen (dafür müssen natürlich genügend kanäle freigeschaltet sein!)

2: dafür habe ich mir folgende Subs geschrieben:

Code:

Sub PlaySound (FXnum, Panning)
    Static ChanCyl As Short 'Nächster Kanal, bitte!
    If AudioEnabled=0 Then Exit Sub
    If FXvol = 0 Then Exit Sub
    'FXvol=16'32
    If FXnum < 1 Then Exit Sub
    Do
      Ready=1
      ChanCyl += 1: If ChanCyl > SoundChannels - 1 Then ChanCyl = 1
      For C=0 To NumMusicChannels -1
        If ChanCyl = FMUSIC_Getrealchannel(MusicHandle,C) Then Ready=0
      Next
    Loop Until Ready=1

    Volume = FXvol
    If FXnum = 7 Then Volume = Volume * .6
    PlaySample ChanCyl, FXnum, 0, Volume, Panning
End Sub



Sub PlaySample (Channel As Short, Sample As Integer, Freq As Long,Volume As Integer,Panning As Integer)
   If AudioEnabled=0 Then Exit Sub
   If Channel=(-1) Then Channel=FSOUND_FREE
   Chn&=FSOUND_PlaySound (Channel,SoundHandle(Sample))
   If Panning>255 Then Panning=255
   If Panning<0 Then Panning=0
   FSOUND_SetPan Chn&,Panning'*17
   'Vol=Volume*4:if Vol>255 then Vol=255
   FSOUND_SetVolume Chn&,Volume
   If Freq>0 Then FSOUND_SetFrequency Chn&,Freq
   Priority=255
   If Sample = 10 Then Priority=32
   FSOUND_SetPriority Chn&,Priority
End Sub


ohne anpassung aus fruit battle übernommen, ich hoffe du findest was passendes zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 18.02.2007, 00:32    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
(dafür müssen natürlich genügend kanäle freigeschaltet sein!)


Wie mach ich sowas?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.02.2007, 00:35    Titel: Antworten mit Zitat

hast du überhaupt die fmod-hilfedatei?

Code:
FSOUND_Init(44100, SoundChannels, 0)

SoundChannels gibt den wert der verwendeten kanäle an, am besten irgendwas über 16.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 18.02.2007, 01:03    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
hast du überhaupt die fmod-hilfedatei?
..wenn du das fragst, unterstellst du imho, daß nicht..
..deshalb hier der Link auf FMod-Homepage: http://www.fmod.org grinsen
Da Till ja englisch kann, erwähne ich nicht, daß die Hilfedatei in englisch ist happy
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 18.02.2007, 10:48    Titel: Antworten mit Zitat

ytwinky hat Folgendes geschrieben:

Da Till ja englisch kann, erwähne ich nicht, daß die Hilfedatei in englisch ist happy


Machst du dich hier über meine "schlechten" Englischkenntnisse lustig (bzw. über meine Threads im engilschen Forum) oder wie soll ich das verstehen mit den Augen rollen mit den Augen rollen lachen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 18.02.2007, 11:58    Titel: Antworten mit Zitat

Quatsch, dann hätte ich einen anderen Smilie genommen happy
Ich wollte nur durchblicken lassen, daß ich im englischen Forum nachgesehen habe,
nicht, um deine Aussage zu überprüfen, sondern, weil ich was verwechselt habe:
FMod und FBMod(oder wie das Programm dieses anderen Forenbetreibers heißt grinsen) [Edit]Es heißt FBSound..
Wenn ich mich über die Englischkenntnisse von Forenbenutzern lustig mache,
dann sieht das anders aus zwinkern
Nfu
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 19.02.2007, 16:47    Titel: Antworten mit Zitat

Also ich hab das mit der Lautstärke durch unterschieliche Channels gelöst (und nicht mit einer "komischen und verwirrenden" Sub (sorry^^) wie es mir vorgeschlagen wurde.) Allerdings bekomme ich das mit dem "überlappen" nicht durch channels hin.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 19.02.2007, 17:11    Titel: Antworten mit Zitat

Code:

FSOUND_SetVolume Chn,Volume

Was ist daran bitteschön verwirrend? Ich erwarte eigentlich, dass du in der lage bist, das für dich wichite aus der Sub rauszuholen... peinlich

voila, direkt aus der hilfe von fmod:
Hilfedatei hat Folgendes geschrieben:

#define FMOD_CHANNEL_FREE -1

Wenn du diese konstante als kanal angibst, wird ein freier kanal gesucht.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 19.02.2007, 19:48    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Code:

FSOUND_SetVolume Chn,Volume

Was ist daran bitteschön verwirrend? Ich erwarte eigentlich, dass du in der lage bist, das für dich wichite aus der Sub rauszuholen... peinlich


Genau diesen Befehl habe ich auch genommen. Und es tut mir leid das ich durch deine Sub nicht durchgestiegen bin, ich entsculdige mich vielmals mit den Augen rollen

Aber egal, darum geht es mir garnicht mehr, wie erwähnt mein Problem ist ein anderes.....

P.S.: Wegen dem überlappen, da hab ich in der Schleife FB schon mitgeteilt das er sich immer einen freien kanal suchen soll. Es wird trozdem das Soundfile nur einmal abgespielt und erst wiederholt wenn es vorher beendet wurde...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 19.02.2007, 20:30    Titel: Antworten mit Zitat

Naja, meines ist halt eine all-in-one Sub zwinkern

Hast du auch schon mit
Code:

SoundChannels = 32
FSOUND_Init(44100, SoundChannels, 0)

genügend Kanäle freigeschaltet? Wenn ja, zeig mir mal bitte deinen sourcecode...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 19.02.2007, 21:01    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Naja, meines ist halt eine all-in-one Sub zwinkern

Hast du auch schon mit
Code:

SoundChannels = 32
FSOUND_Init(44100, SoundChannels, 0)

genügend Kanäle freigeschaltet? Wenn ja, zeig mir mal bitte deinen sourcecode...


Ja habe ich und auch mit 900 Kanälen geht es nicht.....

hier mein code (nur die schleife, den channelkram habe ich weiter forne im code)

Code:

1:
zahl=INT (RND*9)
IF zahl=zvorher THEN GOTO 1
CLS
?
?" Druecke  ";zahl;"
?
taste=str$(zahl)
zvorher=zahl
Do
SLEEP 1
IF INKEY=taste AND soundan=1 THEN FSOUND_Stream_Play( FSOUND_FREE, testsound ):points=points+1:zahl= INT (RND*9):GOTO 1
IF INKEY=taste THEN points=points+1:zahl= INT (RND*9):GOTO 1
Loop until points=5 OR TIMER>zeit+5


Ich hoffe mal auch eine Vernüntige Antwort und nicht nur "wääääh GOTO ist scheiße" mit den Augen rollen zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 19.02.2007, 21:10    Titel: Antworten mit Zitat

Schau mal bitte, ob es mit FSOUND_PlaySound funktioniert... Musst dann den Sound als SAMPLE und nicht als STREAM laden.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 19.02.2007, 21:49    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Schau mal bitte, ob es mit FSOUND_PlaySound funktioniert... Musst dann den Sound als SAMPLE und nicht als STREAM laden.


Juhu das klappt happy
Danke für die Hilfe.
Und die Anmerkung mit GOTO war nicht angreifend für dich gemeint sondern sollte an alle in diesem Formen gehen. Denn kaum postet man was mit GOTO heißt es ja gleich wieder "es ist veraltet" etc...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 19.02.2007, 22:45    Titel: Antworten mit Zitat

Goto is cool!

Code:
Goto nextthread
End
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 19.02.2007, 22:54    Titel: Antworten mit Zitat

masterherpo hat Folgendes geschrieben:
Jojo hat Folgendes geschrieben:
Schau mal bitte, ob es mit FSOUND_PlaySound funktioniert... Musst dann den Sound als SAMPLE und nicht als STREAM laden.


Juhu das klappt happy
Danke für die Hilfe.
Und die Anmerkung mit GOTO war nicht angreifend für dich gemeint sondern sollte an alle in diesem Formen gehen. Denn kaum postet man was mit GOTO heißt es ja gleich wieder "es ist veraltet" etc...



oooooooookay, jetzt kümmern wir uns um deinen sourcecode lachen lachen spaß...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 20.02.2007, 15:05    Titel: Antworten mit Zitat

PMedia hat Folgendes geschrieben:
Goto is cool!

Code:
Goto nextthread
End

#undef goto
#undef gosub
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz