00001 // Copyright (C) 2002-2018 Nikolaus Gebhardt 00002 // This file is part of the "irrKlang" library. 00003 // For conditions of distribution and use, see copyright notice in irrKlang.h 00004 00005 #ifndef __I_IRRKLANG_IRR_SOUND_SOURCE_H_INCLUDED__ 00006 #define __I_IRRKLANG_IRR_SOUND_SOURCE_H_INCLUDED__ 00007 00008 #include "ik_IVirtualRefCounted.h" 00009 #include "ik_vec3d.h" 00010 #include "ik_EStreamModes.h" 00011 #include "ik_SAudioStreamFormat.h" 00012 00013 00014 namespace irrklang 00015 { 00016 00018 00021 class ISoundSource : public IVirtualRefCounted 00022 { 00023 public: 00024 00026 virtual const ik_c8* getName() = 0; 00027 00029 00032 virtual void setStreamMode(E_STREAM_MODE mode) = 0; 00033 00035 00037 virtual E_STREAM_MODE getStreamMode() = 0; 00038 00040 00045 virtual ik_u32 getPlayLength() = 0; 00046 00048 00053 virtual SAudioStreamFormat getAudioFormat() = 0; 00054 00056 /* If a sound is seekable depends on the file type and the audio format. For example MOD files 00057 cannot be seeked currently. 00058 \return Returns true of the sound source supports setPlayPosition() and false if not. 00059 Note: If the sound never has been played before, the sound engine will have to open 00060 the file and try to get the information from there, so this call could take a bit depending 00061 on the type of file. */ 00062 virtual bool getIsSeekingSupported() = 0; 00063 00065 00069 00072 00076 00079 00087 00090 00096 00099 00112 00115 00126 00129 00134 00137 00144 00147 00149 00152 00161
The irrKlang
Engine Documentation © 2003-2018 by Nikolaus Gebhardt. Generated
by Doxygen
(1.6.1) |