Pazartesi, Kasım 06, 2006

Audiere Ses kütüphanesi kullanımı

Esasında benim pek öğretici makale yazmada maharetim yoktur
bu yüzden sizlere daha çok kendi yaptığım örnekleri sunabiliyorum.
Audiere ses kütüphanesini BluePlayer için kullanmıştım

Şimdide basit bir şekilde kullanımını anlatacağım becerebilirsem tabii

char* GetVersion()
Audiere Kütüphanesinin versiyon bilgisini verir

Örnek:
printf("Audiere versiyon : %s\n",GetVersion());
Audiere versiyon : 1.9.4


void GetSupportedFileFormats(std::vector& formats)
Çalabileceğiniz ses formatlarını verir
FileFormatDesc 'ın yapısı aşağıdaki şekildedir.

struct FileFormatDesc {
std::string description;
std::vector extensions;
};

Örnek:

std::vector formats;
// Desteklenen Ses Dosyası formatları
GetSupportedFileFormats(formats);
puts("Desteklenen Ses Dosyası formatları");
for(int i=0;i<>
puts((formats[i].description).c_str());
std::vector ext=formats[i].extensions;
for(int j=0;j<>
puts(ext[j].c_str());
}
}



void GetSupportedAudioDevices(std::vector& devices)

kullanıla bilecek ses aygıtlarını listeler, Windows için Directsound ve WinMM
Linux için Oss gibi

AudioDeviceDesc in yapısı aşaıdaki gibidir

struct AudioDeviceDesc {
std::string name; // aygıt ismi

// Textual description of device.
std::string description; // açıklama
};

Örnek :

puts("Desteklenen ses aygıtları");
std::vector devices;
GetSupportedAudioDevices(devices);
for(int j=0;j<>
puts((devices[j].name).c_str());
puts((devices[j].description).c_str());
}


AudioDevice* OpenDevice (const char * name = 0, const char * parameters = 0 )

Ses aygınını açmak için kullanılır ismi ve parametreleri kullanılabileceği gibi paramateresizde çağrılabilir.


Örnek:

AudioDevicePtr device;
device =OpenDevice(); // yada
device =OpenDevice("winmm"); //gibi
if(device)
printf("Kullanılan aygıt : %s\n",device->getName());
else
puts("Aygıt açılamadı !");


OutputStream* OpenSound ( const AudioDevicePtr & device,
const char * filename,
bool streaming = false,
FileFormat file_format = FF_AUTODETECT
)


device = daha önce açtığımız aygıt
filename = açılacak ses dosyasının adı
streaming = ses dosyası çalıma şekli
false : Bütün dosyayı hafızaya yükle öyle çal
true : Dosyadam çalmaya başla


Örnek :

OutputStreamPtr sound;
sound=OpenSound(device,"BW.mp3",true);


evet artık açılmış bir ses dosyamız var pekii neler yapabiliriz

void play (); // ses dosyasını çalmaya başla

void stop (); // ses dosyasını çalmayı durdur

bool isPlaying (); // ses dosyası çalıyorsa doğru değeri döndür

void reset (); // ses dosyasını başa al

bool isSeekable (); // çalınan dosyanın istenen kısmına ulaşılabiliniyormu
int getLength (); // ses dosyasının uzunluğu
int getPosition (); // çalma esnasındaki yer kısım
void setPosition ( int pos ); // çalınan kısmı ayarlar

// ses değer aralığı 0.0 to 1.0
float getVolume (); // ses değerini oku
void setVolume ( float volume ); ses değerini ayarla

void setRepeat ( bool repeat ); // çalma işlemi tekrar ayarı
bool getRepeat (); //

// Hopörlör ses çıkış ayarı
// -1.0 = Sol, 0.0 = Eşit (default), 1.0 = Sağ
void setPan ( float pan ); // ayarla
float getPan (); // öğren

// Ses dosyası çalma hızı
// Hız aralığı 0.5 ile 2.0, normal değer 1.0
void setPitchShift ( float shift ); // ayarla
float getPitchShift (); // öğren

Örnek :

sound->play();
sound->setVolume (0.8);

Hiç yorum yok: