void VideoDecoder::AudioTrack::start() { stop(); Audio::AudioStream *stream = getAudioStream(); assert(stream); g_system->getMixer()->playStream(getSoundType(), &_handle, stream, -1, _muted ? 0 : getVolume(), getBalance(), DisposeAfterUse::NO); // Pause the audio again if we're still paused if (isPaused()) g_system->getMixer()->pauseHandle(_handle, true); }
CFileType CFileUtil:: getType(CFileBase *file) { CFileType type = file->getType(); if (type != CFILE_TYPE_INODE_REG) return type; type = getImageType(file); if (type != CFILE_TYPE_NONE) return type; type = getSoundType(file); if (type != CFILE_TYPE_NONE) return type; type = getTextType(file); if (type != CFILE_TYPE_NONE) return type; //------ std::string filename = file->getName(); type = getImageTypeFromName(filename); if (type != CFILE_TYPE_NONE) return type; type = getSoundTypeFromName(filename); if (type != CFILE_TYPE_NONE) return type; type = getTextTypeFromName(filename); if (type != CFILE_TYPE_NONE) return type; //------ type = isText(file); if (type != CFILE_TYPE_NONE) return type; return CFILE_TYPE_TEXT_BINARY; }
void VideoDecoder::AudioTrack::start(const Audio::Timestamp &limit) { stop(); Audio::AudioStream *stream = getAudioStream(); assert(stream); stream = Audio::makeLimitingAudioStream(stream, limit, DisposeAfterUse::NO); g_system->getMixer()->playStream(getSoundType(), &_handle, stream, -1, getVolume(), getBalance(), DisposeAfterUse::YES); // Pause the audio again if we're still paused if (isPaused()) g_system->getMixer()->pauseHandle(_handle, true); }