Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

12.07.2009, 08:35

primärkotiert

als ich hab nen code aber da kommen immer diese 2 fehlermeldungen:

Fehler: erwartet primärkotierten Ausdruck vor "const"
Fehler: erwartet primärkotierten Ausdruck vor "bool"
(ist schon vom englischen übersetzt)

C-/C++-Quelltext

1
F2C::AudioFile::LoadAudioFile(const char* "lab.mp3",bool loop==true);


was soll ich jetzt machen??

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

2

12.07.2009, 08:45

Also diese Fehlermeldung verstehe ich nicht... aber deine Codezeile genau so wenig. Willst du diese funktion deklarieren, oder so aufrufen? Falls das eine Deklaration sein soll, mit standardparametern, sollte das wohl eher so aussehen...

C-/C++-Quelltext

1
F2C::AudioFile::LoadAudioFile(const char* name = "lab.mp3", bool loop = true);

Bin mir aber grade nicht sicher, ob sowas auch mit strings funktioniert ^^

3

12.07.2009, 09:21

ok danke ich glaube jetzt hb ich verstanden^^
soll glaub ich so aussehen:

C-/C++-Quelltext

1
F2C::AudioFile("lab.wav",true);


zumindest kommt jeztt keine fehlermeldung...
das gewünschte ergebnis hab ich leider immernochnet da der sound net abgespielt wird

edit:hab übrigens das hir zum abspielen drin

C-/C++-Quelltext

1
void play();

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

12.07.2009, 10:04

Zitat von »"Fighter19"«


edit:hab übrigens das hir zum abspielen drin

C-/C++-Quelltext

1
void play();


Versuchs mal mit:

C-/C++-Quelltext

1
play();

5

12.07.2009, 10:12

da kommt wieder ein fehler:

'play' was not declared in this scope
oder so

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

12.07.2009, 10:24

Zitat von »"Fighter19"«

da kommt wieder ein fehler:

'play' was not declared in this scope
oder so


Dann gibts die Funktion "play" eben nicht, zumindest nicht in deinem aktuellen Scope. :roll:

7

12.07.2009, 10:26

hir mal die include datei:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef __AUDIOFILE_H
#define __AUDIOFILE_H

#pragma once

#include "Basic.h"
#include "GameError.h"

namespace F2C{
    /**
    *@brief Abspiele von Audiodateien. \n
    *@brief Audiere Unterstuetze Formate: \n
    *@brief  *Ogg Vorbis \n
    *@brief  *MP3 \n
    *@brief  *FLAC \n
    *@brief  *Speex \n
    *@brief  *WAV \n
    *@brief  *AIFF \n
    *@brief  *MOD, S3M, XM, IT \n
    */
    class DLL AudioFile{
        private:
        audiere::AudioDevicePtr device;
        audiere::OutputStreamPtr sound;

        public:
        float pitch; ///< Pitch (0.5f - 2.0f)

        bool loop; ///< Wiederholen An/Aus

        float volume; ///< Lautstaerke (0.0f - 1.0f)


        AudioFile(); ///< Standart Konstruktor

        virtual ~AudioFile(); ///< Stopt den Sound des Objektes

        AudioFile(const char* filename); ///< @param filename Dateinname @brief Ladet eine Audiodatei.


        /**
        *@param filename Dateinname
        *@param loop Wiederholen An/Aus
        *@brief Ladet eine Audiodatei und setzt die Wiederholung.
        */
        AudioFile(const char* filename,bool loop);
        void LoadAudioFile(const char* filename); ///< @param filename Dateinname @brief Ladet eine Sounddatei.


        /**
        *@param filename Dateinname
        *@param loop Wiederholen An/Aus
        *@brief Ladet eine Audiodatei und setzt die Wiederholung.
        */
        void LoadAudioFile(const char* filename,bool loop);

        void play(); ///< Abspielen

        void stop(); ///< Stop

        void pause(); ///< Pause


    };
}

#endif // __AUDIO_H


da steht ziemlich weit unten ganz deutlich void play();
wie soll ich das denn sonst abspielen??

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

12.07.2009, 10:29

Und wo wird die Methode aufgerufen? Zeig mal die Definition.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

12.07.2009, 10:30

wie wärs mit FC2::play() ?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

12.07.2009, 10:31

Zitat von »"dot"«

wie wärs mit FC2::play() ?


Wenn der play in einer Methodendef von AudioFile aufruft muss der Namespace doch sowiso bekannt sein. Ansonsten brauch er mindestens eine Instanz von AudioFile, also muss der Namespace auch dort bekannt sein.

Werbeanzeige