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