/* * BallZPhononEngine.cpp * * Created on: 25.01.2010 * Author: TAMHAN */ #include "BallZPhononEngine.h" #include #include #include #include BallZPhononEngine::BallZPhononEngine() { configureMusic(); } BallZPhononEngine::~BallZPhononEngine() { destroyMusic(); } void BallZPhononEngine::configureMusic() { QFile file1(QDir::tempPath() + "/bgm.wav"); if (file1.open(QIODevice::ReadWrite)) { QFile workFile(":/sfx/rsc/music/bgm.wav"); if(workFile.open(QIODevice::ReadOnly)) { file1.write(workFile.readAll()); workFile.close(); } file1.close(); } QFile file2(QDir::tempPath() + "/lrgboom.wav"); if (file2.open(QIODevice::ReadWrite)) { QFile workFile(":/sfx/rsc/music/lrgboom.wav"); if(workFile.open(QIODevice::ReadOnly)) { file2.write(workFile.readAll()); workFile.close(); } file2.close(); } QFile file3(QDir::tempPath() + "/midboom.wav"); if (file3.open(QIODevice::ReadWrite)) { QFile workFile(":/sfx/rsc/music/midboom.wav"); if(workFile.open(QIODevice::ReadOnly)) { file3.write(workFile.readAll()); workFile.close(); } file3.close(); } QFile file4(QDir::tempPath() + "/smlboom.wav"); if (file4.open(QIODevice::ReadWrite)) { QFile workFile(":/sfx/rsc/music/smlboom.wav"); if(workFile.open(QIODevice::ReadOnly)) { file4.write(workFile.readAll()); workFile.close(); } file4.close(); } bgm=Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(QDir::tempPath() + "/bgm.wav")); bgm->enqueue(Phonon::MediaSource(QDir::tempPath() + "/bgm.wav")); connect(bgm,SIGNAL(aboutToFinish()),this,SLOT(playMusic())); bgm->play(); lrgboom=Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(QDir::tempPath() + "/lrgboom.wav")); midboom=Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(QDir::tempPath() + "/midboom.wav")); smlboom=Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(QDir::tempPath() + "/smlboom.wav")); } void BallZPhononEngine::destroyMusic() { bgm->clear(); lrgboom->clear(); midboom->clear(); smlboom->clear(); delete bgm; delete lrgboom; delete midboom; delete smlboom; } void BallZPhononEngine::playSmlBoom() { smlboom->seek(0); smlboom->play(); } void BallZPhononEngine::playMidBoom() { midboom->seek(0); midboom->play(); } void BallZPhononEngine::playLrgBoom() { lrgboom->seek(0); lrgboom->play(); } void BallZPhononEngine::playMusic() { bgm->seek(0); }