Я разрабатываю приложение, которое должно воспроизводить звуки и иметь большой набор звуковых файлов в формате .wav размером около 1 ГБ. Я следовал официальной документации по созданию файла расширения.
Сначала я сделал файл .zip с нулевым сжатием, все файлы .wav находятся в этих файлах (без какой-либо подпапки. Это main.1.package содержит все звуковые файлы). Затем я переименовал папку .zip в .obb. После этого я поместил этот файл .obb в папку приложений в папке obb общего хранилища (com.moinul.app — это имя моего пакета, поэтому имя папки было таким, а файл расширения был назван main.1.com.moinul.app .obb )
Проблема в том, что когда я пытаюсь прочитать файлы из моих файлов расширения, я получаю исключения с нулевым указателем:
try
{
String param = (String) v.getTag();
ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(context, 1, 0);
AssetFileDescriptor fd = expansionFile.getAssetFileDescriptor("p25_1.wav");
MediaPlayer mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(fd.getFileDescriptor());
mPlayer.prepare();
mPlayer.start();
}
catch (Exception e)
{
Log.w(TAG, e.getMessage() + "");
e.printStackTrace();
}
Я получаю исключения, говорящие, что fd имеет значение null. Любая помощь будет оценена по достоинству. Спасибо