SoundStream - Pure virtual method called
Ostatnio zmodyfikowano 2018-06-19 23:38
GrhuGhu Temat założony przez niniejszego użytkownika |
SoundStream - Pure virtual method called » 2018-06-19 22:57:25 Witam. Mam taki kod: #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? |
|
pekfos |
» 2018-06-19 23:17:56 Niczego nie zwracasz w onGetData(). |
|
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 |
|
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. |
|
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. |
|
« 1 » |