Länge der Abspielzeit von PlaySound()



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Benutz lieber MCI (oder ne lib wie fmod oder DirectShow oder so), damit kannst du auch z.B. spulen und mp3s abspielen (siehe FAQ)



  • Checker&Murckser schrieb:

    das kein C++, zumindest keins, welches einem Standard entspräche

    Wieso denn das, das ist Visual C++.

    geeky schrieb:

    Benutz lieber MCI (oder ne lib wie fmod oder DirectShow oder so), damit kannst du auch z.B. spulen und mp3s abspielen (siehe FAQ)

    Sry, was ist MCI, leider habt ihr es hier mit einem n00b zu tun, der von C auf C++ umgesattelt hat. Programmiere Letzteres erst seit nem halben Jahr.
    Bis hab ich nur Consolenanwendungen programmiert, so sry about that. 🤡





  • Thx für den link, habe zwar keine große Lust mir jetzt noch was neues reinzupaucken 😞 , doch man lernt ja nie aus



  • Ich kann Dir auch FMod (Ex) empfehlen, MCI ist nicht so gut (eigene Meinung 😉 ), da es teilweise Fehler beim Abspielen macht. Außerdem kann FMod wesentlich mehr.

    Siehe: www.fmod.de

    (Wenn schon die Einarbeitung, dann sollte es sich ja auch lohnen 😉 .)



  • Is das freeware? :p
    Ich habe nälich wenig Lust dafür was zu bezahlen.
    thx for help

    nich mehr nötig, is freeware hab ich schon gefunden 😃

    gruß [ZK C]LP[GER]



  • Ok Leute, ich habs mir jetzt gedownloadet, und auch installiert.
    Allerdings lässt es sich netterweise nicht includen(Falscher Install-Ordner maybe???
    C:\Programme\Microsoft Visual Studio\FMOD Programmers API Win32\api\inc)
    Oder falscher Inlude-Befehl? (

    #include "fmod.h"
    

    )



  • Also ich würd Dir Folgendes empfehlen:

    1. Downloaden.
    2. Installieren.
    3. Alle Header aus dem Ordner: C:\...\FMOD Programmers API\api\inc\ in Dein 
       Projektverzeichnis kopieren.
    4. Die entsprechende Library (passend zu deinem Compiler) aus dem Ordner: 
       C:\...\FMOD Programmers API\api\lib\ in dein Projektverzeichnis kopieren; 
       Guck einfach in der Text-Datei 'Which library do I use.txt' nach, welche die 
       richtige für Dich ist.
    5. Die passende DLL aus dem Ordner: C\...\FMOD Programmers API\api\ in dein 
       Projektverzeichnis kopieren.
    6. Die Header wie folgt in Deinen Quellcode einbinden:
    [cpp]
    #include "[Dateiname].[Dateiendung]"
    [/cpp]
    6. Gegen die FMOD-Library-Datei linken; In Visual Studio einfach so:
    [cpp]
    #pragma comment(lib, "[Dateiname].[Dateiendung]")
    [/cpp]
    
    Und fertig!
    
    (C ggf gegen den korrekten Laufwerksbuchstaben ersetzen).
    

    PS: Jo ist Freeware 😉 .



  • Danke für den Vorschlag 👍 , doch ich habe einfach nen neuen include-Pfad aufgemacht(is einfacher : C:\Programme\Microsoft Visual Studio\FMOD Programmers API Win32\api\inc)
    Jetzt lässt es sich includen(stolz 🙂 )
    Jetzt hab ich leider Gottes ein Code Problem

    char [255]
    cin >> x;
    FMOD_System_PlaySound(x);
    

    Ne Fehlermeldung meint jetzt natürlich ganz schlau zu sein:

    C:\Programme\Microsoft Visual Studio\VC98\MyProjects\ClanPlayer\ClanPlayer.cpp(18) : error C2660: 'FMOD_System_PlaySound' : Funktion akzeptiert keine 1 Parameter
    

    😡
    Kann mir vielleicht einer sagen, welche Parameter man da übergeben muss?
    PS: Wär echt nich schlecht!!!



  • 1. FMod-System-Objekt (FMOD_SYSTEM)
    2. ChannelID (int)
    3. Pausiert (bool)
    4. FMod-Channel-Objekt (FMOD_CHANNEL)

    RETURN-Wert ist FMOD_RESULT; FMOD_OK, wenn erfolgreich.



  • OK Ich habe jetzt folgenden Code:

    FMOD_System_PlaySound(FMOD_SYSTEM,int,bool,FMOD_CHANNEL);
    	return FMOD_RESULT; 
    	return FMOD_OK
    

    Doch glaube ich nicht, das es stimmt. (Ich bin ein Noob) :p
    Das erschliesse ich messerscharf aus folgenden Punkten:
    1. Ich habe noch nie glaub ich so eine Formulierung in C++ gesehen.
    2. C++ gibt mir eine Fehlermeldung aus ("Ich bin dein Freund und Helfer, aber

    C:\Programme\Microsoft Visual Studio\VC98\MyProjects\ClanPlayer\ClanPlayer.cpp(18) : error C2275: "FMOD_SYSTEM" : Ungültige Verwendung dieses Typs als  Ausdruck
            c:\programme\microsoft visual studio\fmod programmers api win32\api\inc\fmod.h(55) : Siehe Deklaration von 'FMOD_SYSTEM'
    C:\Programme\Microsoft Visual Studio\VC98\MyProjects\ClanPlayer\ClanPlayer.cpp(18) : error C2062: 'int'-Typ unerwartet
    C:\Programme\Microsoft Visual Studio\VC98\MyProjects\ClanPlayer\ClanPlayer.cpp(19) : error C2275: "FMOD_RESULT" : Ungültige Verwendung dieses Typs als  Ausdruck
            c:\programme\microsoft visual studio\fmod programmers api win32\api\inc\fmod.h(211) : Siehe Deklaration von 'FMOD_RESULT'
    C:\Programme\Microsoft Visual Studio\VC98\MyProjects\ClanPlayer\ClanPlayer.cpp(21) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
    C:\Programme\Microsoft Visual Studio\VC98\MyProjects\ClanPlayer\ClanPlayer.cpp(21) : error C2562: 'main' : 'void'-Funktion gibt einen Wert zurueck
            C:\Programme\Microsoft Visual Studio\VC98\MyProjects\ClanPlayer\ClanPlayer.cpp(13) : Siehe Deklaration von 'main'
    

    That sucks... 😞



  • [ZK C]LP[GER] schrieb:

    OK Ich habe jetzt folgenden Code:

    FMOD_System_PlaySound(FMOD_SYSTEM,int,bool,FMOD_CHANNEL);
    	return FMOD_RESULT; 
    	return FMOD_OK
    

    Doch glaube ich nicht, das es stimmt. (Ich bin ein Noob) :p
    Das erschliesse ich messerscharf aus folgenden Punkten:
    1. Ich habe noch nie glaub ich so eine Formulierung in C++ gesehen.

    Schlaues Kerlchen 😃 ... Stimmt ist falsch 😃 .
    Also ich würd Dir empfehlen, mit einem Grundlagen Tutorial anzufangen, bevor Du Dich in so eine Library begibst!

    Noch was zu Prototypen und Funktion(-sdeklarationen):

    // Das ist der Prototyp der Funktion 'func':
    double func(int i, double d);
    
    // Das ist die Definition der Funktion 'func':
    double func(int i, double d)
    {
       return (static_cast<double>(i) + d);
    }
    

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

    [ZK C]LP[GER] schrieb:

    2. C++ gibt mir eine Fehlermeldung aus [...]

    Seit wann können Programmiersprachen den Error-Logs schreiben, kannste mir dazu ne Referenz geben 😃 😃 ...



  • Du hast vollkommen recht, ich sollte wirklich ein Tutorial anfangen, doch wart es schließlich ihr die mir fmod vorgeschlagen habt(nix für ungut 😃 ,(NOOB around))
    Is das jetzt n Beispiel, das du mir da angegeben hast, oder wie...
    Mein Problem is Folgendes:
    Fmod scheint zwei double Werte als Parameter(z:B. x und y)
    So, aber ich brauch ja eintlich n char Wert, um die abzuspielende Sounddatei defenieren zu können. Vielleicht hab ich auch noch noch das Prinzip von Fmod begriffen (kann ja sein 😕 )



  • Wie kommst Du denn auf double ? Ich hab Dir doch den Prototyp gezeigt ...



  • [quote="CodeFinder"]

    Noch was zu Prototypen und Funktion(-sdeklarationen):

    // Das ist der Prototyp der Funktion 'func':
    double func(int i, double d);
    
    // Das ist die Definition der Funktion 'func':
    double func(int i, double d)
    {
       return (static_cast<double>(i) + d);
    }
    

    ???
    Steht da nich double??? 😞



  • 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 💡


Anmelden zum Antworten