Öncelikle oluşturmuş olduğum başlık yeterince açıklayıcı olmadı sanırım, umarımki Üstadlar mazur görürler. Yapmak istediğim şey skyp gibi bi program hazırlamak. Şuan için yazılı iletişimi sorunsuz sağlamaktayım. Sorunum sesli ve görüntülü iletişimde. Bunun için öncelikle mikrofondan sesi alıp bir değişkene aktarıp karşı tarafta bu değişkendeki veriyi hoparlörlere göndermem gerektiği şeklinde düz bir mantık ile ilk etapta ses kaydını yapan bir kod buldum.
(bulduğum kod)
Kod: Tümünü seç
function RecordSound(MMSecs: LongInt): LongInt;
var
DeviceID: Word;
Return: LongInt;
MciOpen: TMCI_Open_Parms;
MciRecord: TMCI_Record_Parms;
MciPlay: TMCI_Play_Parms;
MciSave: TMCI_SaveParms;
Result2: LongInt;
Flags: Word;
begin
MciOpen.lpstrDeviceType := 'waveaudio';
MciOpen.lpstrElementName := '';
Flags := Mci_Open_Element or Mci_Open_Type;
Result2 := MciSendCommand(0, MCI_OPEN, Flags, LongInt(@MciOpen));
DeviceID := MciOpen.wDeviceId;
MciRecord.dwTo := MMSecs;
Flags := Mci_To or Mci_Wait;
Result2 := MciSendCommand(DeviceID, Mci_Record, Flags, LongInt(@MciRecord));
mciPlay.dwFrom := 0;
Flags := Mci_From or Mci_Wait;
MciSendCommand(DeviceId, Mci_Play, Flags, LongInt(@MciPlay));
mciSave.lpfileName := 'Ses.Wav';
Flags := MCI_Save_File or Mci_Wait;
Result := MciSendCommand(DeviceID, MCI_Save, Flags, LongInt(@MciSave));
MciSendCommand(DeviceID, Mci_Close, 0, LongInt(nil));
end;
Kullanımı
bu kodlar ilk önce mikrofondan sesi alıyor daha sonra dinletiyor ve ardından .wav olarak kaydediyor (ben sıralamanın bu şekilde olduğunu gördüm eğer dosyayı farklı bir yerde kaydedip dinletiyor dinleme olayından sonra programın olduğu klasöre taşıyorsa bunu bilemiyorum ama nacizane bu şeklide olduğunu düşünmüyorum ) . Sorunum şu ki tam olarak hangi satır ne işi yapıyor tam idrak edebilmiş değilim, mantıksal olarak sesi aldıktan sonra biyerlerde tutuyor ve dinletiyor işte bu veriyi tuttuğu noktada o veriyi bi değişkene ( bu değişkenin tipi ne olacak sorusunaysa hala cevap bulabilmiş değilim malesef ama aktarırken string ifade aktarabiliyorum ) aktarıp, karşı taraftada bu değişkendeki veriyi hoparlöre göndermeliyim diye düşünüyorum. Bu konuda gerek kodların çözümlenmesi noktasında gerekse mantıksal manada bilgi, fikir ve tavsiyelerinizi paylaşırsanız çok memnun olurum.
Saygılarımla...