Не могу получить дескриптор файла для ресурса

1

Мне нужно получить файловый дескриптор для файла dae, поэтому я могу получить Start Offset и Length. У меня есть файловые дескрипторы для png файлов, которые работают нормально. Я сделал это, используя этот код.

int id = 0;
id = getResources().getIdentifier("duck", "drawable", getPackageName());
mAssetDescriptor = getResources().openRawResourceFd(id);

Как я уже сказал, для моего png это работало нормально, однако для моего dae это не сработало, я получил следующее исключение:

android.content.res.Resources $NotFoundException: Файл res/drawable/duck.dae из ресурс ресурса ID # 0x7f020030

mAssetDescriptor имеет значение null.

Поэтому я попытался сделать другой путь. Я помещал свои файлы dae в папку с ресурсами

mAssetDescriptor = getAssets().openFd("duck.dae");

Это вызвало ошибку

Этот файл нельзя открыть как файл дескриптор; он, вероятно, сжат.

Что бы я хотел знать, так это то, как я могу получить начальное смещение и длину файла без использования функций getFileDescriptor() и getStartOffset(), поскольку, похоже, я не могу их использовать.

Я думаю, что тоже ничего не стоит, файлы dae находятся под 1mb, с duck.dae, которые я пытаюсь загрузить в данный момент в 500k.

Спасибо за помощь

Tom

Теги:

1 ответ

3
Лучший ответ

Это, вероятно, работает для png, потому что они не сжаты дополнительно, а большинство других файлов. Смотрите эту тему: http://groups.google.com/group/android-ndk/browse_thread/thread/8274a4c51cc9cc1d

Попробуйте добавить и расширить свои файлы, что предотвратит сжатие файла.

  • 0
    Кажется, это работает хорошо. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню