Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Mobil Uygulamadan Mp3 dosya paylaşı (çözüldü)
#1
Listview de listelenen bir mp3 dosyası listviewden seçerek nasıl paylaşabilirim ?
WWW
Cevapla
#2
nerede paylaşıcan? whatsappda filan mı?
Cevapla
#3
Merhaba. Kodu javadan çevirdim ama deneme şansım olmadı. Yapman gereken müzik dosya yolunu göstermen.

1. İzin gerekli
Project->Options->Uses Permissions->Write external storage

2. Uses bunları eklemen gerekiyor
uses
  Androidapi.Helpers,
 Androidapi.JNI.Net,
 Androidapi.JNI.GraphicsContentViewText;

3. Fonksiyonu ShareMedia('MP3 dosya yolu') olarak kullanıcaksın
procedure ShareMedia(const Path: string);
var
 Media: Jnet_Uri;
 Intent: JIntent;
begin
 Media := TJnet_Uri.JavaClass.parse(StringToJString(Path));
 Intent := TJIntent.Create;
 Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
 Intent.setType(StringToJString('audio/mp3'));
 Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, Media);
 TAndroidHelper.Activity.startActivity(Intent, StringToJString('Share Sound File'));
end;
WWW
Cevapla
#4
kodları yerleştirince direk bunları veriyor.

BrzBOj.png
WWW
Cevapla
#5
Merhaba,
Kod editöründe altı kırmızı olarak çizili olan kod kısımlarının Uses bölümündeki referansları eksik tanımlanmış.
Uses bölümünü aşağıdaki gibi değiştirin.

uses
 System.SysUtils, System.Types, System.UITypes, System.Classes,
 System.Variants,
 FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs
{$IFDEF ANDROID}
   , Androidapi.Helpers,
 Androidapi.JNI.GraphicsContentViewText,
 Androidapi.JNI.Net
{$ENDIF ANDROID};


Tüm platformlar için (kod uyumluluğu ve Multi Platform açısından) geliştirecekseniz; platforma özgü derleyici direktiflerini kullanmanızda fayda var.
Örneğin;

{$IFDEF ANDROID}
var
 Media: Jnet_Uri;
 Intent: JIntent;
{$ENDIF ANDROID}
begin
{$IFDEF ANDROID}
 Media := TJnet_Uri.JavaClass.parse(StringToJString(Path));
 Intent := TJIntent.Create;
 Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
 Intent.setType(StringToJString('audio/mp3'));
 Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, Media);
 TAndroidHelper.Activity.startActivity(Intent,
   StringToJString('Share Sound File'));
{$ENDIF ANDROID}
end;
DelphiCan'dır!
Cevapla
#6
1L6y0D.png

verdiğiniz kodu butona aktardım
putextra ve
startactivity de hatalar veriyor
---

ayrıca listview de seçilen mp3 ü paylasır değilmi
WWW
Cevapla
#7
Merhaba,
PutExtra,  Androidapi.JNI.GraphicsContentViewText Unit'ini,
startActivity ise Androidapi.JNI.App Unit'ini kullanır.
DelphiCan'dır!
Cevapla
#8
Kullanılanları yerleştirdim yine aynı hatalar
dosya yolunda mi hata yapıyoruz acaba listview yolunu belirtmemiz gerekmiyormu
WWW
Cevapla
#9
(06-04-2017, Saat: 18:07)Paranoyaq Adlı Kullanıcıdan Alıntı: Kullanılanları yerleştirdim yine aynı hatalar
dosya yolunda mi hata yapıyoruz acaba listview yolunu belirtmemiz gerekmiyormu

Dosya yolu ile ilgili bir sorun değil. Kod editöründeki hata denetleyicisi (Error Insight), yalnızca yazım hatası ve referans yönünden denetler.
Muhtemelen Uses bölümünde referans olarak yazmış olduğunuz Unit'lerin path'leri tanımlı değil. 
Library kısmında C:\Program Files (x86)\Embarcadero\Studio\18.0\lib\android\release veya C:\Program Files (x86)\Embarcadero\Studio\18.0\source\rtl\android olmalıdır.

2017-04-06_18-25-43.png
DelphiCan'dır!
Cevapla
#10
vb6yMp.png

bu şekilde hocam
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Çözüldü _ Delphi Community Edition SDK ayarları hatası cinarbil 1 485 12-03-2026, Saat: 10:25
Son Yorum: damert6
  FMX Mobil için En Güncel macOS Mimarisi RAD Coder 7 700 02-03-2026, Saat: 22:14
Son Yorum: mcuyan
  Webbrowser Sorunu [ÇÖZÜLDÜ] codder71 7 416 10-02-2026, Saat: 17:04
Son Yorum: codder71
  FMX'De whatsapp dosya paylaşımı mcuyan 6 762 06-02-2026, Saat: 18:21
Son Yorum: mcuyan
  IOS FCM göndermek? [ÇÖZÜLDÜ] Mr.X 17 3.419 04-12-2024, Saat: 11:33
Son Yorum: shooterman



Konuyu Okuyanlar: 1 Ziyaretçi