¿Cómo obtengo un InputStream para una canción comprada en la tienda de GooglePlay?

Estoy intentando reproducir música de la tienda de Google Play con audiotracks. Estoy tratando de obtener un InputStream para una canción comprada en google play, utilizando getContentResolver().getInputStream(contenturi) pero esto resulta en un "FileNotFoundException" . El "contenturi" que estoy utilizando se obtuvo de una consulta anterior al proveedor de contenido: com.google.android.music.MusicContent / audio. Esta consulta devolvió una fila para cada canción que había comprado de google play, así como las canciones que tenía en mi tarjeta SD, que no fueron comprados en google play. Para cada fila construí un url para la canción específica, agregando su Id, por ejemplo

content://com.google.android.music.MusicContent/audio/10. Cuando esta url se refirió a un archivo en mi tarjeta SD, pude obtener un inputtream para ello. Sin embargo, cuando se refiere a una canción comprada en google play, la solicitud de una secuencia de entrada falla con una excepción FileNotFoundException.

El reproductor de medios android estándar parece llamar "openAssetFileDescriptor" en la resolución de contenido, en lugar de "getInputStream", sin embargo cuando lo intenté, también falló con una FileNotFoundException para canciones de google play – pero trabajó para canciones en mi tarjeta SD.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.