Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2016
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 12
wolfran_hack Va por buen camino
Share Audio MP3

Básicamente tenemos un MP3 y queremos compartirlo en otra aplicación:

En Java es:

Código:
//en android
    //String sharePath = Environment.getExternalStorageDirectory().getPath() + "/Soundboard/Ringtones/custom_ringtone.ogg";
    //Uri uri = Uri.parse(sharePath);
    //Intent share = new Intent(Intent.ACTION_SEND);
    //share.setType("audio/*");
    //share.putExtra(Intent.EXTRA_STREAM, uri);
    //startActivity(Intent.createChooser(share, "Share Sound File"));
En Delphi:

Código Delphi [-]
con42 := TPath.GetDocumentsPath + PathDelim + 'archivo.mp3';

  Intent := TJIntent.Create;
  //Intent.setData(StrToJURI(con42));
  Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
  Intent.setType(StringToJString('audio/*'));
  Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM,StringToJString(con42));
  MainActivity.startActivity(Intent);

Me deja compartir pero al seleccionar da error: "Fallo a compartir, intentelo nuevamente.."

Probe con:

Código Delphi [-]
intent.setType("audio/mpeg");

Código Delphi [-]
intent.setType("audio/mpeg3");

y tampoco funciona.

Ideas?
Responder Con Cita
  #2  
Antiguo 16-03-2016
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 12
wolfran_hack Va por buen camino
Código Delphi [-]
  Intent := TJIntent.Create;
  con42 := 'file://' + TPath.GetDocumentsPath + PathDelim + 'Negr.mp3';
  Uri := TJnet_Uri.JavaClass.parse(StringToJString(con42));
  Intent.setPackage(StringToJString('com.whatsapp'));
  Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
  Intent.setData(Uri);
  Intent.setDataAndType(Uri,StringToJString('audio/mpeg3'));
  Intent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
  Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM,StringToJString(con42)); //<  MainActivity.startActivity(Intent);

De momento todo el código que pude pasar, la custion ahora seria sacar el archivo y moverlo a una carpeta para poderlo enviar.
Responder Con Cita
  #3  
Antiguo 17-03-2016
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 12
wolfran_hack Va por buen camino
Ya casi esta, solo que tiene un error:

Código Delphi [-]
//Copia el Archivo a Directorio Temp.
TFile.Copy(TPath.GetDocumentsPath + PathDelim + 'archivo.mp3', TPath.GetTempPath + PathDelim + 'archivo.mp3');

//Tomamos el Archivo de Temp.
con42 := TPath.GetTempPath + PathDelim + 'archivo.mp3';

an_intent := TJIntent.Create;
an_intent.setAction (TJIntent.JavaClass.ACTION_SEND);
an_intent.setType (StringToJString('audio/mpeg3'));
fileuri := JParcelable (TJNet_Uri.JavaClass.fromFile(TJFile.JavaClass.init (StringToJString (con42))));
an_intent.putExtra (TJIntent.JavaClass.EXTRA_STREAM, fileuri);
SharedActivity.startActivity (TJIntent.JavaClass.createChooser(an_intent, StrToJCharSequence ('Share With')));

Funciona la primera vez, despues dice un error de "The Specified file already exists."
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Share Violation golf2008 Conexión con bases de datos 1 02-01-2010 16:46:41
local share jonmendi Conexión con bases de datos 3 03-01-2007 13:32:27
Error 11058 Share Violation Ricsato Conexión con bases de datos 0 08-06-2005 20:46:12
local share = true programa colgado JoseQ Tablas planas 7 06-12-2004 22:40:07
Modificar LOCAL SHARE por código Lepe Conexión con bases de datos 2 16-09-2003 16:22:44


La franja horaria es GMT +2. Ahora son las 14:54:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi