From 5f0c2035c130de74a995ddc9348bb99d81d16865 Mon Sep 17 00:00:00 2001 From: shadowislord Date: Mon, 10 Nov 2014 21:48:47 -0500 Subject: [PATCH] android native improvements * rename jme_stbi -> jme_decode, which is a new native library that will handle image and audio decoding in native code * add a special version of tremor designed to run on android * adjust the build process to handle these changes --- jme3-android-native/TremorAndroid.zip | Bin 0 -> 174923 bytes jme3-android-native/build.gradle | 5 +- jme3-android-native/decode.gradle | 110 +++++++++++ .../src/native/jme_decode/Android.mk | 39 ++++ .../src/native/jme_decode/Application.mk | 3 + .../com_jme3_audio_plugins_NativeVorbisFile.c | 177 ++++++++++++++++++ ...texture_plugins_AndroidNativeImageLoader.c | 4 +- .../src/native/jme_stbi/Android.mk | 16 -- .../src/native/jme_stbi/Application.mk | 3 - jme3-android-native/stb_image.gradle | 123 ------------ .../jme3/audio/plugins/NativeVorbisFile.java | 37 ++++ .../audio/plugins/NativeVorbisLoader.java | 76 ++++++++ 12 files changed, 447 insertions(+), 146 deletions(-) create mode 100644 jme3-android-native/TremorAndroid.zip create mode 100644 jme3-android-native/decode.gradle create mode 100644 jme3-android-native/src/native/jme_decode/Android.mk create mode 100644 jme3-android-native/src/native/jme_decode/Application.mk create mode 100644 jme3-android-native/src/native/jme_decode/com_jme3_audio_plugins_NativeVorbisFile.c rename jme3-android-native/src/native/{jme_stbi => jme_decode}/com_jme3_texture_plugins_AndroidNativeImageLoader.c (96%) delete mode 100644 jme3-android-native/src/native/jme_stbi/Android.mk delete mode 100644 jme3-android-native/src/native/jme_stbi/Application.mk delete mode 100644 jme3-android-native/stb_image.gradle create mode 100644 jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisFile.java create mode 100644 jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisLoader.java diff --git a/jme3-android-native/TremorAndroid.zip b/jme3-android-native/TremorAndroid.zip new file mode 100644 index 0000000000000000000000000000000000000000..85f4e734b4961904a69913698602591aae24af7c GIT binary patch literal 174923 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 literal 0 HcmV?d00001 diff --git a/jme3-android-native/build.gradle b/jme3-android-native/build.gradle index 380783bcd..0ca99df77 100644 --- a/jme3-android-native/build.gradle +++ b/jme3-android-native/build.gradle @@ -44,5 +44,6 @@ ext { // add each native lib build file apply from: file('openalsoft.gradle') -apply from: file('stb_image.gradle') - +// apply from: file('stb_image.gradle') +// apply from: file('tremor.gradle') +apply from: file('decode.gradle') \ No newline at end of file diff --git a/jme3-android-native/decode.gradle b/jme3-android-native/decode.gradle new file mode 100644 index 000000000..e3e84555a --- /dev/null +++ b/jme3-android-native/decode.gradle @@ -0,0 +1,110 @@ +String tremorZipFile = "TremorAndroid.zip" +String stbiUrl = 'https://raw.githubusercontent.com/nothings/stb/master/stb_image.h' + +// Working directories for the ndk build. +String decodeBuildDir = "${buildDir}" + File.separator + 'decode' +String decodeBuildJniDir = decodeBuildDir + File.separator + 'jni' +String decodeBuildLibsDir = decodeBuildDir + File.separator + 'libs' + +// Pre-compiled libs directory +String decodePreCompiledLibsDir = 'libs' + File.separator + 'decode' + +// jME Android Native source files path +String decodeSourceDir = 'src/native/jme_decode' + +task downloadStbImage(type: MyDownload) { + sourceUrl = stbiUrl + target = file('stb_image.h') +} + +// Copy stb_image.h to the source directory. +task copyStbiFiles(type: Copy) { + def sourceDir = file('stb_image.h') + def outputDir = file(decodeSourceDir + File.separator + "STBI") + from sourceDir + into outputDir +} +copyStbiFiles.dependsOn { + def stbiFile = file('stb_image.h') + if (!stbiFile.exists()) { + downloadStbImage + } +} + +// Copy libtremor source to the source directory. +task copyTremorFiles(type: Copy) { + def zipFile = file(tremorZipFile) + def outputDir = file(decodeSourceDir + File.separator + "Tremor") + + from (zipTree(zipFile)) { + include '*.c' + include '*.h' + } + + into outputDir +} + +// Generate headers via javah +task generateJavahHeaders(type: Exec) { + executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah') + args '-d', decodeSourceDir + args '-classpath', project.projectClassPath + args "com.jme3.audio.plugins.NativeVorbisFile" + args "com.jme3.texture.plugins.AndroidNativeImageLoader" +} + +// Copy jME Android native files to jni directory +task copySourceToBuild(type: Copy, dependsOn:[copyTremorFiles, copyStbiFiles, generateJavahHeaders]) { + def sourceDir = file(decodeSourceDir) + def outputDir = file(decodeBuildJniDir) + + from sourceDir + into outputDir +} + +task buildNativeLib(type: Exec, dependsOn: copySourceToBuild) { + workingDir decodeBuildDir + executable rootProject.ndkCommandPath + args '-j8' +} + +task updatePreCompiledLibs(type: Copy, dependsOn: buildNativeLib) { + def sourceDir = new File(decodeBuildLibsDir) + def outputDir = new File(decodePreCompiledLibsDir) + + from sourceDir + into outputDir +} + +// Copy pre-compiled libs to build directory (when not building new libs) +task copyPreCompiledLibs(type: Copy) { + def sourceDir = file(decodePreCompiledLibsDir) + def outputDir = file(decodeBuildLibsDir) + + from sourceDir + into outputDir +} + +if (rootProject.ndkExists) { + // build native libs and update stored pre-compiled libs to commit + compileJava.dependsOn { updatePreCompiledLibs } +} else { + // use pre-compiled native libs (not building new ones) + compileJava.dependsOn { copyPreCompiledLibs } +} + +jar.into("lib") { from decodeBuildLibsDir } + +// Helper class to wrap ant dowload task +class MyDownload extends DefaultTask { + @Input + String sourceUrl + + @OutputFile + File target + + @TaskAction + void download() { + ant.get(src: sourceUrl, dest: target) + } +} diff --git a/jme3-android-native/src/native/jme_decode/Android.mk b/jme3-android-native/src/native/jme_decode/Android.mk new file mode 100644 index 000000000..04286bcfd --- /dev/null +++ b/jme3-android-native/src/native/jme_decode/Android.mk @@ -0,0 +1,39 @@ +TARGET_PLATFORM := android-9 + +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := decodejme + +LOCAL_C_INCLUDES:= \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/Tremor + +LOCAL_CFLAGS := -std=gnu99 +LOCAL_LDLIBS := -lz -llog -Wl,-s + +ifeq ($(TARGET_ARCH),arm) +LOCAL_CFLAGS+= -D_ARM_ASSEM_ +endif + +LOCAL_ARM_MODE := arm + +LOCAL_SRC_FILES := \ + Tremor/bitwise.c \ + Tremor/codebook.c \ + Tremor/dsp.c \ + Tremor/floor0.c \ + Tremor/floor1.c \ + Tremor/floor_lookup.c \ + Tremor/framing.c \ + Tremor/info.c \ + Tremor/mapping0.c \ + Tremor/mdct.c \ + Tremor/misc.c \ + Tremor/res012.c \ + Tremor/vorbisfile.c \ + com_jme3_audio_plugins_NativeVorbisFile.c \ + com_jme3_texture_plugins_AndroidNativeImageLoader.c + +include $(BUILD_SHARED_LIBRARY) diff --git a/jme3-android-native/src/native/jme_decode/Application.mk b/jme3-android-native/src/native/jme_decode/Application.mk new file mode 100644 index 000000000..448e7bc90 --- /dev/null +++ b/jme3-android-native/src/native/jme_decode/Application.mk @@ -0,0 +1,3 @@ +APP_PLATFORM := android-9 +APP_OPTIM := debug +APP_ABI := all \ No newline at end of file diff --git a/jme3-android-native/src/native/jme_decode/com_jme3_audio_plugins_NativeVorbisFile.c b/jme3-android-native/src/native/jme_decode/com_jme3_audio_plugins_NativeVorbisFile.c new file mode 100644 index 000000000..958ac2b69 --- /dev/null +++ b/jme3-android-native/src/native/jme_decode/com_jme3_audio_plugins_NativeVorbisFile.c @@ -0,0 +1,177 @@ +#include +#include +#include "Tremor/ivorbisfile.h" + +#include "com_jme3_audio_plugins_NativeVorbisFile.h" + +#ifndef NDEBUG +#include +#include +#define LOGI(fmt, ...) __android_log_print(ANDROID_LOG_INFO, \ + "NativeVorbisFile", fmt, ##__VA_ARGS__); +#else +#error We are building in release mode, arent we? +#define LOGI(fmt, ...) +#endif + +typedef struct +{ + JNIEnv* env; + int fd; +} +FileDescWrapper; + +static size_t FileDesc_read(void *ptr, size_t size, size_t nmemb, void *datasource) +{ + FileDescWrapper* wrapper = (FileDescWrapper*)datasource; + size_t totalRead = read(wrapper->fd, ptr, size * nmemb); + + LOGI("read(%zu) = %zu", size * nmemb, totalRead); + + return totalRead; +} + +// off64_t lseek64(int fd, off64_t offset, int whence); +static int FileDesc_seek(void *datasource, ogg_int64_t offset, int whence) +{ + FileDescWrapper* wrapper = (FileDescWrapper*)datasource; + int result = lseek64(wrapper->fd, offset, whence); + + char* whenceStr; + switch (whence) { + case SEEK_CUR: whenceStr = "SEEK_CUR"; break; + case SEEK_END: whenceStr = "SEEK_END"; break; + case SEEK_SET: whenceStr = "SEEK_SET"; break; + default: whenceStr = "unknown"; break; + } + LOGI("seek(%lld, %s) = %d", offset, whenceStr, result); +} + +static int FileDesc_close(void *datasource) +{ + FileDescWrapper* wrapper = (FileDescWrapper*)datasource; + + LOGI("close"); + + return close(wrapper->fd); +} + +static long FileDesc_tell(void *datasource) +{ + FileDescWrapper* wrapper = (FileDescWrapper*)datasource; + long result = lseek64(wrapper->fd, 0, SEEK_CUR); + + LOGI("tell = %ld", result); + + return result; +} + +static ov_callbacks FileDescCallbacks = { + FileDesc_read, + FileDesc_seek, + FileDesc_close, + FileDesc_tell +}; + +static void throwIOException(JNIEnv* env, const char* message) +{ + jclass ioExClazz = (*env)->FindClass(env, "java/io/IOException"); + (*env)->ThrowNew(env, ioExClazz, message); +} + +static jfieldID nvf_field_ovf; +static jfieldID nvf_field_seekable; +static jfieldID nvf_field_channels; +static jfieldID nvf_field_sampleRate; +static jfieldID nvf_field_bitRate; +static jfieldID nvf_field_totalBytes; +static jfieldID nvf_field_duration; + +JNIEXPORT void JNICALL Java_com_jme3_audio_plugins_NativeVorbisFile_nativeInit + (JNIEnv *env, jclass clazz) +{ + LOGI("nativeInit"); + + nvf_field_ovf = (*env)->GetFieldID(env, clazz, "ovf", "Ljava/nio/ByteBuffer;");; + nvf_field_seekable = (*env)->GetFieldID(env, clazz, "seekable", "Z"); + nvf_field_channels = (*env)->GetFieldID(env, clazz, "channels", "I"); + nvf_field_sampleRate = (*env)->GetFieldID(env, clazz, "sampleRate", "I"); + nvf_field_bitRate = (*env)->GetFieldID(env, clazz, "bitRate", "I"); + nvf_field_totalBytes = (*env)->GetFieldID(env, clazz, "totalBytes", "I"); + nvf_field_duration = (*env)->GetFieldID(env, clazz, "duration", "F"); +} + +JNIEXPORT void JNICALL Java_com_jme3_audio_plugins_NativeVorbisFile_open + (JNIEnv *env, jobject nvf, jint fd) +{ + LOGI("open: %d", fd) + + OggVorbis_File* ovf = (OggVorbis_File*) malloc(sizeof(OggVorbis_File)); + + FileDescWrapper* wrapper = (FileDescWrapper*) malloc(sizeof(FileDescWrapper)); + wrapper->fd = fd; + wrapper->env = env; // NOTE: every java call has to update this + + int result = ov_open_callbacks((void*)wrapper, ovf, NULL, 0, FileDescCallbacks); + + if (result != 0) + { + LOGI("ov_open fail"); + + free(ovf); + free(wrapper); + + char err[512]; + sprintf(err, "ov_open failed: %d", result); + throwIOException(env, err); + + return; + } + + LOGI("ov_open OK"); + jobject ovfBuf = (*env)->NewDirectByteBuffer(env, ovf, sizeof(OggVorbis_File)); + + vorbis_info* info = ov_info(ovf, -1); + jint total_bytes = ov_pcm_total(ovf, -1); + jboolean seekable = ov_seekable(ovf) != 0; + jfloat duration = (jfloat) ov_time_total(ovf, -1); + + (*env)->SetObjectField(env, nvf, nvf_field_ovf, ovfBuf); + (*env)->SetBooleanField(env, nvf, nvf_field_seekable, seekable); + (*env)->SetIntField(env, nvf, nvf_field_channels, info->channels); + (*env)->SetIntField(env, nvf, nvf_field_sampleRate, info->rate); + (*env)->SetIntField(env, nvf, nvf_field_bitRate, info->bitrate_nominal); + (*env)->SetIntField(env, nvf, nvf_field_totalBytes, total_bytes); + (*env)->SetFloatField(env, nvf, nvf_field_duration, duration); +} + +JNIEXPORT void JNICALL Java_com_jme3_audio_plugins_NativeVorbisFile_seekTime + (JNIEnv *env, jobject nvf, jdouble time) +{ + +} + +JNIEXPORT jint JNICALL Java_com_jme3_audio_plugins_NativeVorbisFile_read + (JNIEnv *env, jobject nvf, jbyteArray buf, jint off, jint len) +{ + return 0; +} + +JNIEXPORT void JNICALL Java_com_jme3_audio_plugins_NativeVorbisFile_readFully + (JNIEnv *env, jobject nvf, jobject buf) +{ + +} + +JNIEXPORT void JNICALL Java_com_jme3_audio_plugins_NativeVorbisFile_close + (JNIEnv *env, jobject nvf) +{ + LOGI("close"); + + jobject ovfBuf = (*env)->GetObjectField(env, nvf, nvf_field_ovf); + OggVorbis_File* ovf = (OggVorbis_File*) (*env)->GetDirectBufferAddress(env, ovfBuf); + FileDescWrapper* wrapper = (FileDescWrapper*) ovf->datasource; + free(wrapper); + free(ovf); + (*env)->SetObjectField(env, nvf, nvf_field_ovf, NULL); +} \ No newline at end of file diff --git a/jme3-android-native/src/native/jme_stbi/com_jme3_texture_plugins_AndroidNativeImageLoader.c b/jme3-android-native/src/native/jme_decode/com_jme3_texture_plugins_AndroidNativeImageLoader.c similarity index 96% rename from jme3-android-native/src/native/jme_stbi/com_jme3_texture_plugins_AndroidNativeImageLoader.c rename to jme3-android-native/src/native/jme_decode/com_jme3_texture_plugins_AndroidNativeImageLoader.c index 6c7697880..b03dd8e7d 100644 --- a/jme3-android-native/src/native/jme_stbi/com_jme3_texture_plugins_AndroidNativeImageLoader.c +++ b/jme3-android-native/src/native/jme_decode/com_jme3_texture_plugins_AndroidNativeImageLoader.c @@ -1,7 +1,7 @@ #include "com_jme3_texture_plugins_AndroidNativeImageLoader.h" #include -#ifdef DEBUG +#ifndef NDEBUG #include #define LOGI(fmt, ...) __android_log_print(ANDROID_LOG_INFO, \ "NativeImageLoader", fmt, ##__VA_ARGS__); @@ -12,7 +12,7 @@ #define STB_IMAGE_IMPLEMENTATION #define STBI_NO_STDIO #define STBI_NO_HDR -#include "stb_image.h" +#include "STBI/stb_image.h" typedef struct { diff --git a/jme3-android-native/src/native/jme_stbi/Android.mk b/jme3-android-native/src/native/jme_stbi/Android.mk deleted file mode 100644 index 1eddbaeee..000000000 --- a/jme3-android-native/src/native/jme_stbi/Android.mk +++ /dev/null @@ -1,16 +0,0 @@ -TARGET_PLATFORM := android-9 - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := stbijme - -LOCAL_C_INCLUDES += $(LOCAL_PATH) - -LOCAL_CFLAGS := -std=c99 -LOCAL_LDLIBS := -lz -llog -Wl,-s - -LOCAL_SRC_FILES := com_jme3_texture_plugins_AndroidNativeImageLoader.c - -include $(BUILD_SHARED_LIBRARY) diff --git a/jme3-android-native/src/native/jme_stbi/Application.mk b/jme3-android-native/src/native/jme_stbi/Application.mk deleted file mode 100644 index fbc028f84..000000000 --- a/jme3-android-native/src/native/jme_stbi/Application.mk +++ /dev/null @@ -1,3 +0,0 @@ -APP_PLATFORM := android-9 -APP_OPTIM := release -APP_ABI := all \ No newline at end of file diff --git a/jme3-android-native/stb_image.gradle b/jme3-android-native/stb_image.gradle deleted file mode 100644 index c8ef98b62..000000000 --- a/jme3-android-native/stb_image.gradle +++ /dev/null @@ -1,123 +0,0 @@ -// stb_image url for download -String stbiUrl = 'https://raw.githubusercontent.com/nothings/stb/master/stb_image.h' -String stbiDownloadTarget = 'stb_image.h' - -// stb_image is not downloaded. The single source file is included in the repo -String stbiFolder = 'stb_image' - -//Working directories for the ndk build. -String stbiBuildDir = "${buildDir}" + File.separator + 'stb_image' -String stbiBuildJniDir = stbiBuildDir + File.separator + 'jni' -String stbiBuildLibsDir = stbiBuildDir + File.separator + 'libs' - -//Pre-compiled libs directory -String stbiPreCompiledLibsDir = 'libs' + File.separator + 'stb_image' - -// jME Android Native source files path -String stbiJmeAndroidPath = 'src/native/jme_stbi' - -// Download external source files if not available -task downloadStbImage(type: MyDownload) { - sourceUrl = stbiUrl - target = file(stbiFolder + File.separator + stbiDownloadTarget) -} - -// Copy stb_image.h to the source directory. -task copyStbiFiles(type: Copy) { - def sourceDir = file(stbiFolder) - def outputDir = file(stbiJmeAndroidPath) -// println "copyStbiFiles sourceDir: " + sourceDir -// println "copyStbiFiles outputDir: " + outputDir - - from sourceDir - into outputDir -} -copyStbiFiles.dependsOn { - def stbiFilePath = project.projectDir.absolutePath + stbiFolder + File.separator + stbiDownloadTarget - def stbiFile = new File(stbiFilePath) -// println "zipFile path: " + zipFile.absolutePath -// println "zipFile exists: " + zipFile.exists() - if (!stbiFile.exists()) { - downloadStbImage - } -} - -task generateStbiHeaders(type: Exec) { - String destDirPath = stbiJmeAndroidPath - String classes = "" - .concat("com.jme3.texture.plugins.AndroidNativeImageLoader, ") - -// println "stb_image classes = " + classes -// println "stb_image destDir = " + destDir -// println "stb_image classpath = " + project.projectClassPath - - executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah') - args '-d', destDirPath - args '-classpath', project.projectClassPath - args "com.jme3.texture.plugins.AndroidNativeImageLoader" -} - -// Copy jME Android native files to jni directory -task copyStbiJmeFiles(type: Copy, dependsOn:[copyStbiFiles, generateStbiHeaders]) { - def sourceDir = file(stbiJmeAndroidPath) - def outputDir = file(stbiBuildJniDir) -// println "copyStbiJmeFiles sourceDir: " + sourceDir -// println "copyStbiJmeFiles outputDir: " + outputDir - - from sourceDir - into outputDir -} - -task buildStbiNativeLib(type: Exec, dependsOn: copyStbiJmeFiles) { -// println "stb_image build dir: " + stbiBuildDir -// println "ndkCommandPath: " + rootProject.ndkCommandPath - - workingDir stbiBuildDir - executable rootProject.ndkCommandPath - args '-j8' -} - -task updatePreCompiledStbiLibs(type: Copy, dependsOn: buildStbiNativeLib) { - def sourceDir = new File(stbiBuildLibsDir) - def outputDir = new File(stbiPreCompiledLibsDir) -// println "updatePreCompiledStbiLibs sourceDir: " + sourceDir -// println "updatePreCompiledStbiLibs outputDir: " + outputDir - - from sourceDir - into outputDir -} - -// Copy pre-compiled libs to build directory (when not building new libs) -task copyPreCompiledStbiLibs(type: Copy) { - def sourceDir = file(stbiPreCompiledLibsDir) - def outputDir = file(stbiBuildLibsDir) -// println "copyStbiJmeFiles sourceDir: " + sourceDir -// println "copyStbiJmeFiles outputDir: " + outputDir - - from sourceDir - into outputDir -} - -if (rootProject.ndkExists) { - // build native libs and update stored pre-compiled libs to commit - compileJava.dependsOn { updatePreCompiledStbiLibs } -} else { - // use pre-compiled native libs (not building new ones) - compileJava.dependsOn { copyPreCompiledStbiLibs } -} - -jar.into("lib") { from stbiBuildLibsDir } - -// Helper class to wrap ant dowload task -class MyDownload extends DefaultTask { - @Input - String sourceUrl - - @OutputFile - File target - - @TaskAction - void download() { - ant.get(src: sourceUrl, dest: target) - } -} diff --git a/jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisFile.java b/jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisFile.java new file mode 100644 index 000000000..784781917 --- /dev/null +++ b/jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisFile.java @@ -0,0 +1,37 @@ +package com.jme3.audio.plugins; + +import java.io.IOException; +import java.nio.ByteBuffer; + +public class NativeVorbisFile { + + public int fd; + public ByteBuffer ovf; + public boolean seekable; + public int channels; + public int sampleRate; + public int bitRate; + public int totalBytes; + public float duration; + + static { + System.loadLibrary("decodejme"); + nativeInit(); + } + + public NativeVorbisFile(int fd) throws IOException { + open(fd); + } + + private native void open(int fd) throws IOException; + + public native void seekTime(double time) throws IOException; + + public native int read(byte[] buf, int off, int len) throws IOException; + + public native void readFully(ByteBuffer out) throws IOException; + + public native void close(); + + public static native void nativeInit(); +} diff --git a/jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisLoader.java b/jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisLoader.java new file mode 100644 index 000000000..f0218a41f --- /dev/null +++ b/jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisLoader.java @@ -0,0 +1,76 @@ +package com.jme3.audio.plugins; + +import android.content.res.AssetFileDescriptor; +import com.jme3.asset.AssetInfo; +import com.jme3.asset.AssetLoader; +import com.jme3.asset.plugins.AndroidLocator; +import com.jme3.asset.plugins.AndroidLocator.AndroidAssetInfo; +import com.jme3.audio.AudioBuffer; +import com.jme3.audio.AudioKey; +import com.jme3.audio.SeekableStream; +import com.jme3.util.BufferUtils; +import java.io.IOException; +import java.io.InputStream; +import java.nio.ByteBuffer; + +public class NativeVorbisLoader implements AssetLoader { + + private static class VorbisInputStream extends InputStream implements SeekableStream { + + private final NativeVorbisFile file; + + public VorbisInputStream(NativeVorbisFile file) { + this.file = file; + } + + @Override + public int read() throws IOException { + return 0; + } + + @Override + public int read(byte[] buf) throws IOException { + return file.read(buf, 0, buf.length); + } + + @Override + public int read(byte[] buf, int off, int len) throws IOException { + return file.read(buf, off, len); + } + + @Override + public long skip(long n) throws IOException { + throw new IOException("Not supported for audio streams"); + } + + public void setTime(float time) { + try { + file.seekTime(time); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + } + } + + @Override + public Object load(AssetInfo assetInfo) throws IOException { + AudioKey key = (AudioKey) assetInfo.getKey(); + if (!(assetInfo instanceof AndroidLocator.AndroidAssetInfo)) { + throw new UnsupportedOperationException("Cannot load audio files from classpath." + + "Place your audio files in " + + "Android's assets directory"); + } + + AndroidAssetInfo aai = (AndroidAssetInfo) assetInfo; + AssetFileDescriptor afd = aai.openFileDescriptor(); + int fd = afd.getParcelFileDescriptor().getFd(); + + NativeVorbisFile file = new NativeVorbisFile(fd); + ByteBuffer data = BufferUtils.createByteBuffer(file.totalBytes); + file.readFully(data); + AudioBuffer ab = new AudioBuffer(); + ab.setupFormat(file.channels, 16, file.sampleRate); + ab.updateData(data); + return ab; + } +} \ No newline at end of file