Пример #1
0
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);
}
Пример #2
0
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;
}
Пример #3
0
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);
}