void QBSoundWin::stopEffect(unsigned int nSoundId) { QBSoundLocker locker(&mMutex,"stopEffect"); PlayerList::iterator p = streamTrack.find(nSoundId); if (p != streamTrack.end()) { findPlayer(nSoundId)->stop(); } }
bool QBSoundWin::streamIsPlaying(int track) { QBSoundLocker locker(&mMutex,"streamStop"); PlayerList::iterator p = streamTrack.find(track); if (p == streamTrack.end()) { return false; } return findPlayer(track)->isPlaying(); }
static QBStreamSound* findPlayer(int track) { QBStreamSound* player=NULL; PlayerList::iterator p = streamTrack.find(track); if (p != streamTrack.end()) { player = p->second; } else { player = new QBStreamSound(); streamTrack.insert(make_pair(track,player)); } return player; }