2016-04-19 5 views
0

ここに私の問題です。自分のプログラムで再生するストリームを設定しようとしています。 それは一度うまくいきましたが、私はクラスの名前を変更しましたが、今はもう動作しません。結果からエラー30が発生します。 なぜそれが以前に働いたのか、今はそれがうまくいかなかったのかについての説明を見つけることができません。Fmodストリームを使用して作業する

SoundStream soundStream; 
soundStream.startStream(); 

すべてが正しくリンクされている: はここに私のSoundStream.h私の他の機能には、次のようにそれを作成した

#include "fmod.hpp" 
#include "common.h" 
#include <iostream> 

class SoundStream 
{ 
public: 
    FMOD::System  *system,*sys; 
    FMOD::Sound  *sound, *sound_to_play; 
    FMOD::Channel *channel = 0; 
    FMOD_RESULT  result; 

    void startStream() 
    { 
     result = system->init(32, FMOD_INIT_NORMAL, 0); 
     std::cout << result << std::endl; 
     result = system->createStream("singing.wav", FMOD_LOOP_NORMAL |   FMOD_2D, 0, &sound); 
     std::cout << result << std::endl; 
     sound_to_play = sound; 
     result = system->playSound(sound_to_play, 0, false, &channel); 
     std::cout << result << std::endl; 
     std::cout << "Working" << std::endl; 
    } 
}; 

です。

System_Create(&system);

また、システムに渡している引数:: playSoundは有効ではありません(私が使用している:あなたがシステムオブジェクトを作成していないように思え

おかげ

+0

:ここ

は実施例です。クラスの以前の名前は何でしたか? – NathanOliver

+0

姓は:sound.h クラス名はサウンド 結果のコードを除いてエラーは発生しません30 – Nico

答えて

0

FMOD 4.44.58-1)。あなたが取得しているエラーは何

#include "fmod.hpp" 

class SoundStream 
{ 
public: 
    FMOD::System  *system; 
    FMOD::Sound  *sound; 
    FMOD::Channel *channel; 

    void startStream() 
    { 
    System_Create(&system); 
    system->init(32, FMOD_INIT_NORMAL, 0); 
    system->createStream("singing.wav", FMOD_LOOP_NORMAL | FMOD_2D, 0, &sound); 
    system->playSound(FMOD_CHANNEL_REUSE, sound, false, &channel); 
    } 
}; 

int main(int argc, char** argv) 
{ 
    SoundStream soundStream; 
    soundStream.startStream(); 

    while(true) {} // ctrl + c to exit 
    return 0; 
} 
+0

ありがとう – Nico

関連する問題