Проблема с доступом к ресурсам res / raw на телефоне ... отлично работает в эмуляторе - PullRequest
0 голосов
/ 05 января 2011

Я пытаюсь получить доступ к ресурсам в папке /res/raw программным способом (в частности ... mp3-файлы).В эмуляторе у меня работает следующий шаблон:

Uri uri = Uri.parse("android.resource://com.foo.bar/raw/name_of_resource");
MediaPlayer mp3 = MediaPlayer.create(this, uri);

На реальном телефоне метод MediaPlayer.create() возвращает ноль.Что дает?Есть ли лучший способ доступа к ресурсам программно?

PS

Я не использую MediaPlayer.create(this, R.raw.name_of_resource) по причине.В моей конкретной ситуации мне гораздо проще сгенерировать имя ресурса, чем вычислить id ресурса.(то есть я могу довольно легко вычислить String name_of_resource, но вывод фактического integer id R.raw.name_of_resource потребовал бы намного больше работы и намного больше switch утверждений.

1 Ответ

0 голосов
/ 05 января 2011

Есть ли лучший способ программного доступа к ресурсам?

Используйте статический метод create() для MediaPlayer.

В моей конкретной ситуации мне гораздо проще сгенерировать имя ресурса, чем определить идентификатор ресурса.

Используйте getResources().getIdentifier(), чтобы получить идентификатор ресурса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...