void JpwordReader::upLevel(){ AudioInfo* info = current(); if (info != NULL && info->getLevel() + 1 >= MAX_LEVEL) { levels.remove(*info); info->setLevel(info->getLevel()+1); levels.add(*info); mCourseState.setCurrentToLast(levelList().size()); freshView(); } }
already_AddRefed<MediaDataDecoder> AgnosticDecoderModule::CreateAudioDecoder(const AudioInfo& aConfig, FlushableTaskQueue* aAudioTaskQueue, MediaDataDecoderCallback* aCallback) { RefPtr<MediaDataDecoder> m; if (VorbisDataDecoder::IsVorbis(aConfig.mMimeType)) { m = new VorbisDataDecoder(*aConfig.GetAsAudioInfo(), aAudioTaskQueue, aCallback); } else if (OpusDataDecoder::IsOpus(aConfig.mMimeType)) { m = new OpusDataDecoder(*aConfig.GetAsAudioInfo(), aAudioTaskQueue, aCallback); } return m.forget(); }
void LevelsInfo::add(AudioInfo& ai){ vector<AudioInfo>& auL = levelListMap[ai.getLevel()]; auL.push_back(ai); vector<AudioInfo> & aL = levelList(-1); if(find(aL.begin(),aL.end(),ai)==aL.end()) { levelList(-1).push_back(ai); } }
already_AddRefed<MediaDataDecoder> AgnosticDecoderModule::CreateAudioDecoder(const AudioInfo& aConfig, TaskQueue* aTaskQueue, MediaDataDecoderCallback* aCallback, DecoderDoctorDiagnostics* aDiagnostics) { RefPtr<MediaDataDecoder> m; if (VorbisDataDecoder::IsVorbis(aConfig.mMimeType)) { m = new VorbisDataDecoder(*aConfig.GetAsAudioInfo(), aTaskQueue, aCallback); } else if (OpusDataDecoder::IsOpus(aConfig.mMimeType)) { m = new OpusDataDecoder(*aConfig.GetAsAudioInfo(), aTaskQueue, aCallback); } else if (WaveDataDecoder::IsWave(aConfig.mMimeType)) { m = new WaveDataDecoder(*aConfig.GetAsAudioInfo(), aCallback); } return m.forget(); }
void LevelsInfo::remove(AudioInfo& ai){ vector<AudioInfo> auL = levelListMap[ai.getLevel()]; vector<AudioInfo>::iterator m = find(auL.begin(), auL.end(), ai); if(m==auL.end()) { IOUtils::log("AudioInfo matched not found!"); }else { auL.erase(m); } vector<AudioInfo> aL = levelList(-1); m = find(aL.begin(), aL.end(), ai); if(m==aL.end()) { IOUtils::log("AudioInfo matched not found in ALL level list!"); }else { //aL.erase(m); } }
void JpwordReader::loadMp3(LevelsInfo lvs, int courseNo){ string path = CourseUtils::unzippedDirPath(courseNo); IOUtils::log("load mp3 from path " + path); vector<string> extnames; extnames.push_back("mp3"); vector<string> fpsFound = IOUtils::findFiles(path,extnames); for (unsigned i = 0; i < fpsFound.size(); i++) { int cn = CourseUtils::courseNoOf(fpsFound[i]); int un = UnitUtils::unitNoOf(fpsFound[i]); //TODO FIX AudioInfo ai; ai.setMp3Path(fpsFound[i]); ai.setName(IOUtils::fileBaseName(fpsFound[i])); ai.setCourseNo(cn); ai.setUnitNo(un); ai.setLevel(0); lvs.add(ai); } //IOUtils::log("from path total " + infoList.size() + " mp3 loaded."); }
void JpwordReader::playMp3(){ AudioInfo* info = current(); if(info != NULL){ mOsSupport.playMp3(info->getMp3Path()); } }