Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

SoundStream - Pure virtual method called

Ostatnio zmodyfikowano 2018-06-19 23:38
Autor Wiadomość
GrhuGhu
Temat założony przez niniejszego użytkownika
SoundStream - Pure virtual method called
» 2018-06-19 22:57:25
Witam. Mam taki kod:
C/C++
#include <SFML/Audio.hpp>
#include <SFML/System.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/Network.hpp>
#include <windows.h>
#include <iostream>
#include <ctime>
#include <cstdio>

using namespace sf;

Int16 smp[ 44110 ];

class CustomStream
    : public SoundStream
{
    bool onGetData( Chunk & data )
    {
        data.sampleCount = 44110;
        data.samples = smp;
    }
   
    void onSeek( sf::Time timeOffset )
    {
       
    }
   
public:
    void init()
    {
        initialize( 1, 44100 );
    }
};

int main()
{
   
    CustomStream strim;
    strim.init();
   
    for( int i = 0; i < 44110; i++ )
    {
        smp[ i ] =( rand() % 5000 ) *- 1;
    }
   
    strim.play();
}

Po uruchomieniu w oknie konsoli pojawia się komunikat "Pure virtual method called" po czym program przestaje odpowiadać.
Szukałem już trochę w internecie rozwiązania tego problemu, z niezbyt pozytywnym rezultatem, więc wytłumaczy mi ktoś dlaczego program nie działa po mojej myśli?
P-171631
pekfos
» 2018-06-19 23:17:56
Niczego nie zwracasz w onGetData().
P-171632
GrhuGhu
Temat założony przez niniejszego użytkownika
» 2018-06-19 23:21:55
Racja, powinno być tam "return true;", które zostało przypadkowo wyrzucone podczas prób wyeliminowania problemu. No ale nawet po dodaniu "return true;" problem wciąż występuje
P-171633
pekfos
» 2018-06-19 23:32:20
Nic nie usłyszysz z tego programu, jeśli będzie się kończyć natychmiast po rozpoczęciu odtwarzania.
P-171634
GrhuGhu
Temat założony przez niniejszego użytkownika
» 2018-06-19 23:38:59
No to problem rozwiązany. Wiedziałem, że skoro po rozpoczęciu odtwarzania program jest zamykany, to nic nie usłyszę ale nie sądziłem, że SFML nie będzie to pasować i będzie coś mamrotać o wirtualnych metodach. Dziękuje za pomoc.
P-171635
« 1 »
  Strona 1 z 1