5 votos

mediascanner escanea desde el directorio de sistema /data

¿Cómo puedo hacer que mediascanner escanee la memoria del teléfono, es decir, el /data ¿Directorio? Quiero probar la reproducción de MP3 desde este directorio.

Cuando intento hackearlo sustituyendo el "pathStr" de /mnt/sdcard a /data antes de MediaScanner::doProcessDirectory() falla diciendo

W/MediaScanner( 1713): Error opening directory '/data/', skipping: Permission denied.

Y también se estrelló (probablemente en libre).

Sólo quiero reproducir MP3s almacenados en la memoria del teléfono y evitar la lectura de la tarjeta SD para algunos experimentos.

2voto

ce4 Puntos 11180

EDIT: Esto ha quedado obsoleto con Jelly Bean. Android 4.1+ tiene una sección /data/ y /sdcard unificada (la partición sdcard está emulada y realmente reside en /data/media, está expuesta a través de una capa fusible especial para emular el comportamiento de FAT32).

Mis pensamientos sobre esto:

  • El escáner de medios escanea todo por debajo de /mnt
  • /data/* está protegido, sólo las aplicaciones individuales pueden acceder a él. su carpeta (/data/data/[nombre del paquete de la aplicación])

Para que funcione como a ti te gusta:

  • Necesitas Root (obviamente)
  • symlink /mnt/music a /data/data/tu-localización-musical
  • también puedes hacer un bind-mount en lugar de un symlink:
    mount --bind /data/your-music-location /mnt/sdcard/your-music-location
  • Levanta los derechos de acceso en consecuencia (chmod -R ugo+rw /data/data/tu-ubicacion-musica)

Espero que esto funcione (el escáner debe escanear todo el /mnt ya que también hay /mnt/emmc y tal). Si no, también puede bind-mount una carpeta /data/data/* a /mnt/sdcard/your-music (como se hace con /mnt/sdcard/.android_secure (ver la respuesta))

0voto

Nick Pierpoint Puntos 7976

Para completar mi opinión, no basta con piratear el escáner multimedia integrado, ya que para ello es necesario instalar tu propia ROM. La razón es que media-scanner está firmado con un certificado del sistema que se comparte con la ROM en cuestión.

Y, por lo tanto, eso requiere tener las claves firmadas de la ROM original para reemplazar el escáner de medios incorporado.

En cuanto a intentar poner MP3 en el /system/media/audio carpeta - ¿por qué? ¿Estamos hablando de mp3 de álbumes que pueden llegar a tener un tamaño de entre 5 y 8 Mb? ¿O estamos hablando de Ogg Vorbis para tonos de llamada/notificaciones?

En /system tiene un tamaño limitado en función de la configuración del teléfono del fabricante en cuanto a la disposición de las particiones.

Si el soporte de audio está almacenado en la SDCard en el directorio correspondiente /sdcard/media/audio/Ringtones y /sdcard/media/audio/notifications junto con un URI (Identificador Uniforme de Recursos) que apunte al soporte apropiado declarado como "soporte de almacenamiento externo" como en " MediaStore.Audio.Media.EXTERNAL_CONTENT_URI "(véase el Documentación para desarrolladores en esto), será recogido por el propio Android y se mostrará en Ajustes > Sonidos, como ' Tono de llamada o en ' Tono de notificación '.

Dependiendo de la ROM en sí, puede haber una herramienta de desarrollo llamada 'Dev Tools', en ella, hay una actividad que puede desencadenar la invocación del Media-Scanner incorporado, esto es en Android AOSP stock/vanilla.

-1voto

S S Puntos 8975

Si tiene un sistema de archivos Linux estándar (es decir, no FAT32) en su tarjeta SD, podría crear Soft Link de /data en /mnt/sdcard .

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X