Reproduza sons mp3 do cartão SD

Tenho um diretório no cartão SD do meu tablet chamado "/Android/data/com.example.android.app/files". Acabei de criar manualmente porque não sei mais como testar esse aspecto do meu aplicativo. Eu tenho nomes de arquivos armazenados em um banco de dados sqlite como "/pasta1/audio1.mp3", "/pasta2/audio1.mp3", etc ... Os arquivos têm o mesmo nome, mas estão em pastas diferentes, pois são a mesma coisa é idiomas diferentes. Eu tenho essas pastas (pasta1 e pasta2) e todos os arquivos mp3 no diretório "/Android/data/com.example.android.app/files" no cartão SD.

Então, pego os nomes dos arquivos no banco de dados e Tento acessar a pasta no cartão SD com:

String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/com.example.android.app/files";

O que basicamente acaba criando o caminho "storage / Android / data / com.example.android.app / files".

Agora, eu tinha alguns arquivos mp3 na minha pasta raw durante o desenvolvimento inicial, mas no final haverá muitos arquivos para manter nessa pasta, então comecei a investigar a obtenção deles no cartão SD. Quando eu as coloquei em bruto, as comprei assim:

rid = getResources().getIdentifier(filname,  "raw", "com.example.android.app");

Agora, com os arquivos no cartão SD, isso muda para:

filename = "/folder1/audio.mp3"

e, em vez de "bruto", tenho:

"storage/Android/data/com.example.android.app/files"

e basicamente jogou-os assim:

AssetFileDescriptor afd = mContext.getResources().openRawResourceFd(rid);
mMP.reset();
mMP.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getDeclaredLength());
mMP.prepare();
mMP.start();
afd.close();

No entanto, nenhuma dessas abordagens parece funcionar da mesma maneira agor

Você pode obter o resourceid de um arquivo mp3 no cartão SD? Essa é a maneira apropriada para eu fazer agora? Existe uma maneira diferente de reproduzi-los que funcione se a fonte é memória interna ou externa?

Muito confuso.

EDIT: eu encontreiest o que pode ajudar ... mas talvez seja apenas a equaçã

EDIT2: E eu estou procurandoaqu. Ele usa o mediastore, que eu acho que não é o que eu quer

questionAnswers(2)

yourAnswerToTheQuestion