00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00026
00028 #include <SFML/Audio/SoundFile.hpp>
00029 #include <SFML/Audio/SoundFileDefault.hpp>
00030 #include <SFML/Audio/SoundFileOgg.hpp>
00031 #include <iostream>
00032
00033
00034 namespace sf_private
00035 {
00036
00040 sfSoundFile* sfSoundFile::Create(const std::string& Filename)
00041 {
00042
00043 std::string Ext = "";
00044 std::string::size_type Pos = Filename.find_last_of(".");
00045 if (Pos != std::string::npos)
00046 Ext = Filename.substr(Pos + 1);
00047
00048
00049 if (Ext == "ogg" || Ext == "OGG")
00050 return new sfSoundFileOgg;
00051
00052
00053 else
00054 return new sfSoundFileDefault;
00055 }
00056
00057
00061 sfSoundFile::~sfSoundFile()
00062 {
00063
00064 }
00065
00066
00070 bool sfSoundFile::OpenRead(const std::string& Filename, std::size_t& NbSamples, unsigned int& ChannelsCount, unsigned int& Frequency)
00071 {
00072 std::cerr << "Failed to open sound file \"" << Filename << "\", format is not supported by SFML" << std::endl;
00073
00074 return false;
00075 }
00076
00077
00081 bool sfSoundFile::OpenWrite(const std::string& Filename, unsigned int ChannelsCount, unsigned int Frequency)
00082 {
00083 std::cerr << "Failed to open sound file \"" << Filename << "\", format is not supported by SFML" << std::endl;
00084
00085 return false;
00086 }
00087
00088
00092 std::size_t sfSoundFile::Read(sfInt16* Data, std::size_t NbSamples)
00093 {
00094 std::cerr << "Failed to read from sound file (not supported)" << std::endl;
00095
00096 return 0;
00097 }
00098
00099
00103 void sfSoundFile::Write(const sfInt16* Data, std::size_t NbSamples)
00104 {
00105 std::cerr << "Failed to write to sound file (not supported)" << std::endl;
00106 }
00107
00108 }