Länge der Abspielzeit von PlaySound()



  • Das war nur ein paralelles Beispiel.... 😡 ...

    Siehe hier:

    CodeFinder schrieb:

    [...]
    Das kannst du ja mal auf das obrige Beispiel übertragen 😉 .
    [...]



  • Also der Prototyp sieht logischerweise so aus:

    FMOD_RESULT FMOD_System_PlaySound(FMOD_SYSTEM fmSystem, int iChannelID, bool fPaused, FMOD_CHANNEL fmChannel);
    


  • Also CodeFinder, ich bedanke mich erst einmal für Prototyp(Thx) und Geduld(Thx one more time). Ich habe jetzt als ich den Prototyp in das Prog eingebaut hab'
    a. Weniger Fehlermeldungen
    b. die ich schon behoben habe
    c. Jetzt allerdings eine neue die langsam anfängt mich zu nerven

    LINK : fatal error LNK1104: Datei "fmodexL_vc.lib" kann nicht geoeffnet werden
    

    Ich habe bereits versucht, neue include Pfade anzugeben doch ich leider keinen Erfolg. Genausowenig Erfolg hatte ich mich deiner obigen Idee die Lib zu Kopieren und in den Projektordner zu kopieren.
    Und ich habe jegliche Header und Libs included... Kein Erfolg 😡 😡 😡
    Vielleicht(Bestimmt) hilft der Code

    // ClanPlayer.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
    //
    
    #include "stdafx.h"
    #include "iostream.h"
    #include "windows.h" 
    #include "../../api/inc/fmod.h"
    #include "../../api/inc/fmod_errors.h"
    #include "fmod_dsp.h"
    #include  "fmod_output.h"
    #include "fmod_codec.h"
    #include "fmod.hpp"
    #include "Mmsystem.h"
    #pragma comment(lib,"winmm.lib")
    #pragma comment(lib,"fmodex_vc.lib")
    #pragma comment(lib,"fmodexL_vc.lib")
    
    void main() {
    	int s1;
    	char x[255];
    	//Schleife zum Wiederholen der Frage  für das Stück
        for (s1=0;s1=-1;s1++) {
    		cin >> x;
            // Hier kommt die Abspielfunktion NYI
             FMOD_RESULT FMOD_System_PlaySound(FMOD_SYSTEM fmSystem, int iChannelID, bool fPaused, FMOD_CHANNEL fmChannel);	
    	}
    }
    


  • Der Code ist ja wohl nicht Dein Ernst ?! 😮
    Am besten Du fängst damit an: http://tutorial.schornboeck.net/inhalt.htm 💡



  • Wieso solte der code nich mein Ernst sein 😮 too
    was is denn daran falsch.
    Ok kann ja sein, das ich noch ein ziemlicher anfänder bin, doch glaube ich schon,
    das der code jetzt sinn machen sollte.



  • [ZK C]LP[GER] schrieb:

    Wieso solte der code nich mein Ernst sein 😮 too
    was is denn daran falsch.
    Ok kann ja sein, das ich noch ein ziemlicher anfänder bin, doch glaube ich schon,
    das der code jetzt sinn machen sollte.

    Ähm nein, nicht wirklich...
    Standard-Header werden mit <> inkludiert, und n Prototyp unterscheidet sich doch deutlich vom Aufruf. Du kennst anscheinend weder das eine, noch das andere (was jetzt aber nit böse gemeint ist! 😉 ).

    Außerdem gibt es einen Unterschied zwischen Libraries und Headern... ⚠ .

    Also ok, hier nochmal alle Deine Fehler und dann fang endlich mit nem Tutorial an!
    ➡ Alle Standard-Header werden mit #include <[Dateiname].[Dateiendung]> inkludiert.
    ➡ Du musst, wenn Du die FMod Header und Libraries nicht in Deinem Projektverzeichnis hast, ALLE in den Verzeichnis-Optionen Deines Compilers angeben -sowohl Header als auch Libraries-!
    ➡ Der Prototyp wird verwendet, um dem Compiler eine Funktion zu deklarieren (auch Forward-Declaration genannt.), wenn die betroffene Funktion vor der Definition verwendet wird. Der Aufruf (= Verwendung) erfolgt mit entsprechenden Werten bzw. Variablen.
    ➡ iostream**.h** ist ebenfalls eine der größten (C++) Totsünden die es gibt 😃 ...

    Wenn Du den letzten Aspekt jetzt nicht verstanden hast, wird es erst Recht Zeit für ein Tutorial oder -noch besser- ein gutes Buch.



  • Also n gutes Buch hab ich ja schon ziemlich weit, bis virtuele Funktionen, durchgearbeitet(das Buch schimpft sich "Visual C++ für Dummies")
    Wieso sollte ich denn da mmit nen Tutorial anfdangen, wo doch da nix von Prototypen steht(Wenn ich das dort übersehen haben sollte sry). Aber die Funktion die ich verwenden will, müsste doch eigentlich schon im fmod Packet mit drin sein, so hab ich das jedenfalls verstanden.
    Außerdem hatte ich das mit den <> KLammern und "" schon msl, das macht keinen Unterschied. UND ich habe die Libs mit im Include Pfad mit angegeben.
    Sry das ich jetzt so begriffstutzig 😃



  • Also man merkt irgendwie nicht das Du ein Buch durcharbeitest...



  • Hab halt noch nicht so viel Erfahrung(ca. vor nem halben Jahr von C auf C++ umgestiegen) merkt man vielleicht an der Anzahl meiner Beiträge 😃



  • [ZK C]LP[GER] schrieb:

    Hab halt noch nicht so viel Erfahrung(ca. vor nem halben Jahr von C auf C++ umgestiegen) merkt man vielleicht an der Anzahl meiner Beiträge 😃

    Da hat sich von C auf C++ bzgl Funktionen nicht wirklich viel geändert, auf dieses Beispiel also nicht zutreffend, aber ist auch Rille 😉 .



  • Weiß ich, aber auch bei C habe ich nur wenig mit selbst geschriebenen Funktionen gearbeitet. was ich hier glauv ich nur bräuchte wär die Erläuterung der Syntax.(was is ein Channel und wie krieg ich raus welchen ich brach z.B. )



  • so also ich habe jetzt meinen Fehler bemerkt, den ich einfach nicht einsehen wollte:
    Die Libs habe ich jetzt in die <> Klammern gesetzt allerdings werde ich aus den Beispielen für die Syntax von Fmod nicht so richtig schlau( 😡 ),
    Das Prog sieht jetzt so aus

    #include "stdafx.h"
    #include <iostream.h>
    #include <windows.h>
    #include <../../api/inc/fmod.h>
    #include <../../api/inc/fmod_errors.h>
    #include <fmod.hpp>
    #include <Mmsystem.h>
    #pragma comment(lib,<Winmm.lib>)
    #pragma comment(lib,<modex_vc.lib.>)
    #pragma comment(lib,<modexL_vc.lib.>)
    
    void main() {
    	int s1;
    	char x[255];
        for (s1=-1; s1=s1+s1; s1=1) {
    	cout << "Welchen Sound möchten sie hören?\n";
    	cin >> x;
        // Hier soll die Abspielfunktion hin ( I am getting mad of this Sh***t)
    	}
    }
    

    Hoffentlich werdet IHR daraus schlau (HOFF).



  • [ZK C]LP[GER] schrieb:

    allerdings werde ich aus den Beispielen für die Syntax von Fmod nicht so richtig schlau( 😡 )

    Arbeite ein Grundlagentutorial durch.



  • #pragma comment(lib,"Winmm.lib")
    // usw usw ...
    

    tipps:
    - pragma's vermeiden, sind compilerabhängig
    - void main ist laut c++ standard nicht erlaubt
    - tutorial nochmal lesen 😉 (nicht böse nehmen)

    [eidt]
    das kommt davon wenn man nebenbei futtert, man ist viel zu langsam 😃



  • 1. Wo findet man denn dieses Tutorial, hätte ich das gefunden, hätte ich euch nich genervt.
    2. Wie includiert an den Libs ohne pragmas (sry wenn ich mich jetzt n bisschen doof anstelle).
    3. Ich weiß das void laut c++ standart nicht erlaubt ist, aber da ich ja níx zurückgeb an Werten, kriege ich dann ne Warnung

    warning C4508: 'main' : Funktion sollte einen Wert zurueckgeben; Ergebnistyp 'void' angenommen
    

    Die allerdings nicht relevant is, also kann man hier nen void benutzen.



  • [ZK C]LP[GER] schrieb:

    1. Wo findet man denn dieses Tutorial, hätte ich das gefunden, hätte ich euch nich genervt.

    oben rechts sind ein haufen links, such dir eins aus 😉

    [ZK C]LP[GER] schrieb:

    2. Wie includiert an den Libs ohne pragmas (sry wenn ich mich jetzt n bisschen doof anstelle).

    compilerdoku

    [ZK C]LP[GER] schrieb:

    3. Ich weiß das void laut c++ stan**** nicht erlaubt ist, aber da ich ja níx zurückgeb an Werten, kriege ich dann ne Warnung

    warning C4508: 'main' : Funktion sollte einen Wert zurueckgeben; Ergebnistyp 'void' angenommen
    

    Die allerdings nicht relevant is, also kann man hier nen void benutzen.

    dann schreib nen return 0; einfach hin 😃

    sehe ich ja jetzt erst 😮 was ist das für ein schleifenkonstrukt 😕

    for (s1=-1; s1=s1+s1; s1=1) {
    


  • Ich hatte Dir doch schon eine Tutorial verlinkt 🙄

    CodeFinder schrieb:

    [...] 😮
    Am besten Du fängst damit an: http://tutorial.schornboeck.net/inhalt.htm 💡



  • Ok werd ich machen
    PS: Dieses Schleifenkonstrukt ist eine gewollte Endlosschleife, damit ich beim Versuchen und Testen das Prog nicht dauernd Neustarten muss.
    Ich weiß sollte man nicht machen 😃



  • [ZK C]LP[GER] schrieb:

    PS: Dieses Schleifenkonstrukt ist eine gewollte Endlosschleife, damit ich beim Versuchen und Testen das Prog nicht dauernd Neustarten muss.

    lol, warum nicht einfach:

    while(true)
    {
       // Endlos ...
    }
    

    😃



  • oder so

    for(;;) {
    

    😃


Anmelden zum Antworten