Delphi android görüşme

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Paranoyaq
Üye
Mesajlar: 22
Kayıt: 05 Oca 2016 02:55

Delphi android görüşme

Mesaj gönderen Paranoyaq »

Selamın aleyküm beyler android işletim sisteminde görüşmeyi kaydedebileceğim bi kod önerebilirmisiniz ?
nerden başlamalıyım şimdiden teşekkürler.
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Delphi android görüşme

Mesaj gönderen fesiharslan »

Merhaba Aleyküm Selam;

İşlem adımlarını kısaca yazacak olursak;
1- Servis Uygulamsı olmalı
2- Broadcast Receiver oluşturmalı (Görüşme anını yakalamak için)
3- Ses kaydı yapılmalı

İşlemleri detaylı olarak ele alacak olursak;
Servis Uygulaması oluşturun. Daha sonra görüşme anını yakalamanız gerekiyor. Bunun için formda bir konu açılmıştı.
viewtopic.php?f=36&t=33252&hilit=broadcast
Son olarak görüşme başladığında ses kaydını başlatmalısınız.

Ses kayıt İşlemleri için;
1 -Uses kısmına media ve IOUtils referanslarını ekleyin

Kod: Tümünü seç

uses
 FMX.Media, System.IOUtils;
2- Public bölümünde Ses kaydı için bir TAudioCaptureDevice tipinde değişken tanımlayın.

Kod: Tümünü seç

public
    Mikrofon: TAudioCaptureDevice;
3- Kayıt işlemi için bir Procedure oluşturun

Kod: Tümünü seç

procedure TForm1.SetArsSesKaydiOlustur();
begin
  // Varsayılan kayıt aracının (mikrofon) seçimi
  Mikrofon := TCaptureDeviceManager.Current.DefaultAudioCaptureDevice;
  if Mikrofon <> nil then
  begin
{$IF DEFINED(ANDROID)}   //Kayıt yapılacak dosya konumu
    Mikrofon.FileName := TPath.Combine(TPath.GetDocumentsPath, 'Gorusme.3gp');
{$ELSEIF DEFINED(iOS)}
    Mikrofon.FileName := TPath.Combine(TPath.GetDocumentsPath, 'Gorusme.caf');
{$ENDIF}
    Mikrofon.StartCapture; //Ses kaydını başlat
  end
  else
  begin
    ShowMessage('Kayıt cihazı yok');
  end;
end;
4- Görüşme başladığında SetArsSesKaydiOlustur(); procedure'nü çalıştırın.
5- Görüşme bitiş anına ise aşağıdaki kodları yazın.

Kod: Tümünü seç

  if (Mikrofon <> nil) and (Mikrofon.State = TCaptureDeviceState.Capturing) then
    Mikrofon.StopCapture;
Bu durumda görüşme başladığında ses kayıt işlemi başlayacak, sonlandığında ise otomatik olarak ses kaydı tamamlanacak ve belirtilen dosya konumuna kaydedecektir.

İyi Çalışmalar...
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Delphi android görüşme

Mesaj gönderen SimaWB »

@fesiharslan; deneme şansım yok ve sadece merakımdan soruyorum: sadece mikrofonu kaydetmek yeterli mi? Bu şekilde karşıdaki kişinin sesi de kaydedilmiş oluyor mu?
There's no place like 127.0.0.1
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Delphi android görüşme

Mesaj gönderen fesiharslan »

SimaWB yazdı:@fesiharslan; deneme şansım yok ve sadece merakımdan soruyorum: sadece mikrofonu kaydetmek yeterli mi? Bu şekilde karşıdaki kişinin sesi de kaydedilmiş oluyor mu?
Bende emin değilim.
Test etme imkanım olmadı.
Fakat gün içerisinde test edip bilgi veririm İnşaAllah.
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Delphi android görüşme

Mesaj gönderen fesiharslan »

Bu arada, Mikrofon erişim iznini vermeyi unutmayın.
Project > Options > Uses Permissions -------> Record audio True olması gerekiyor.
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Delphi android görüşme

Mesaj gönderen fesiharslan »

Test başarılı...
Verdiğim örnekte görüşme yapan her iki tarafın ses kaydı alınıyor.

Not: İsterseniz yaptığım örnek uygulamayı paylaşabilirim.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Delphi android görüşme

Mesaj gönderen SimaWB »

Çok teşekkürler :bravo:
There's no place like 127.0.0.1
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Delphi android görüşme

Mesaj gönderen fesiharslan »

Merhaba;
Ses kayıt uygulamasının linkini formun paket programlar bölümünde paylaştım.
Link: viewtopic.php?f=12&t=35720
Paranoyaq
Üye
Mesajlar: 22
Kayıt: 05 Oca 2016 02:55

Re: Delphi android görüşme

Mesaj gönderen Paranoyaq »

fesiharslan yazdı:Merhaba;
Ses kayıt uygulamasının linkini formun paket programlar bölümünde paylaştım.
Link: viewtopic.php?f=12&t=35720
Kayıt Cihazı Desteklenmiyor veya Cihaza Erişim İzniniz Yok

hatası veriyor ustam
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Delphi android görüşme

Mesaj gönderen fesiharslan »

Paranoyaq yazdı: Kayıt Cihazı Desteklenmiyor veya Cihaza Erişim İzniniz Yok

hatası veriyor ustam
Kendimden alıntı ile cevap vereyim.... :P
fesiharslan yazdı:Bu arada, Mikrofon erişim iznini vermeyi unutmayın.
Project > Options > Uses Permissions -------> Record audio True olması gerekiyor.
Kullanıcı avatarı
AliZairov
Üye
Mesajlar: 341
Kayıt: 06 Nis 2012 03:09
Konum: Azerbaycan, Bakü
İletişim:

Re: Delphi android görüşme

Mesaj gönderen AliZairov »

Merhaba. Peki gelen aramayı cevap verme ve kayıt olan sesi dinletdirme şansımız varmı? Misal ses yazısında lütfen sinyal sesinden sonra mesajınızı bırakın gibi.
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Delphi android görüşme

Mesaj gönderen fesiharslan »

AliZairov yazdı:Merhaba. Peki gelen aramayı cevap verme ve kayıt olan sesi dinletdirme şansımız varmı? Misal ses yazısında lütfen sinyal sesinden sonra mesajınızı bırakın gibi.
Ali Bey;
Broadcast Receive ile çağrı anı yakalanabilir. Dolayısıyla çağrı geldiği anda istediğiniz ses dosyasını MediaPlayer aracılığıyla çalıştırabiliriz. (Ekte göndermiş olduğum örnekte mevuttur)
Aynı teknikle çağrı sonlandırma anını da yakalanabilir, yeni görüşmeyi de saklayabiliriz.
Kullanıcı avatarı
AliZairov
Üye
Mesajlar: 341
Kayıt: 06 Nis 2012 03:09
Konum: Azerbaycan, Bakü
İletişim:

Re: Delphi android görüşme

Mesaj gönderen AliZairov »

fesiharslan yazdı: Ali Bey;
Broadcast Receive ile çağrı anı yakalanabilir. Dolayısıyla çağrı geldiği anda istediğiniz ses dosyasını MediaPlayer aracılığıyla çalıştırabiliriz. (Ekte göndermiş olduğum örnekte mevuttur)
Aynı teknikle çağrı sonlandırma anını da yakalanabilir, yeni görüşmeyi de saklayabiliriz.
Tamam bi deniyip geri dönüş yaparım. Bana böyle bir program gerekli aradım bulamadım o yüzden merak konusu benim için yani böyle bir uygulama mümkün diğilmi.
Paranoyaq
Üye
Mesajlar: 22
Kayıt: 05 Oca 2016 02:55

Re: Delphi android görüşme

Mesaj gönderen Paranoyaq »

fesiharslan yazdı:
Paranoyaq yazdı: Kayıt Cihazı Desteklenmiyor veya Cihaza Erişim İzniniz Yok

hatası veriyor ustam
Kendimden alıntı ile cevap vereyim.... :P
fesiharslan yazdı:Bu arada, Mikrofon erişim iznini vermeyi unutmayın.
Project > Options > Uses Permissions -------> Record audio True olması gerekiyor.
O seçenek işaretli hocam
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Delphi android görüşme

Mesaj gönderen fesiharslan »

Paranoyaq yazdı:
O seçenek işaretli hocam
Uyarı mesajı, Try-except kod kısmında hataya düşmesi durumunda veriliyor.
Try-except kod kısmını kapatın. Daha sonra uygulamayı yeniden çalıştırın. Bu durumda asıl hata uyarısını alırsınız. Hata uyarısını paylaşırsanız, yardımcı olmaya çalışayım.
Cevapla