Android versions of BASS and the BASSFLAC/MIDI/OPUS/WV/mix add-ons are available here:
www.un4seen.com/stuff/bass24-android.zip (updated: 3 May '13)These add-ons are also available:
www.un4seen.com/stuff/bass_aac-android.zip www.un4seen.com/stuff/bass_alac-android.zip www.un4seen.com/stuff/bass_ape-android.zip www.un4seen.com/stuff/tags-android.zip www.un4seen.com/files/z/0/bass_fx24-android.zip (currently doesn't include most BASS_FX_BFX_xxx effects, see BASS_FX.java)
All of the usual stuff should be supported but, like the WinCE version, fixed-point is used rather than floating-point for better performance, with the following consequences: Floating-point channels aren't supported (BASS_SAMPLE_FLOAT will result in BASS_ERROR_FORMAT). The BASS_CONFIG_FLOATDSP option is still available, but it will give 8.24 fixed-point data instead of floating-point; that goes for BASS_ChannelGetData too when getting FFT data or using the BASS_DATA_FLOAT flag. In the case of the BASSMIDI add-on, MIDI input isn't supported, BASS_MIDI_FontPack isn't included because there are no command-line encoders to use, and BASS_MIDI_StreamGetChannel isn't currently supported because it creates floating-point streams (using the BASS_SAMPLE_FLOAT flag). A workaround for the latter will probably be added at a later date.
The libraries include support for Java code (via BASS classes), as well as native code (via the usual BASS headers). The Java API follows the C/C++ API as much as possible, but there are some unavoidable differences, mainly in parameter/return types. The BASS classes are included in source form (eg. BASS.JAVA file), so you can see exactly what's what in there. Java versions of the FXTEST/NETRADIO/PLUGINS/RECTEST and MIDITEST examples are included to demonstrate things. To play with the examples, you can use the "New > Android Project > Create project from existing source" option to create projects for them in Eclipse. You will also need to import the root SRC folder (containing the BASS class) via the "Build Path > Link Source" option and copy the root LIBS folder (containing the BASS library) into the example's folder. When using an add-on (eg. with the PLUGINS or MIDITEST example), you should do the same with the add-on's SRC and LIBS folders. Note the SRC folder (containing the add-on's class) is only needed when calling the add-on's functions (as in MIDITEST), not when using the plugin system (as in PLUGINS).
The libraries come in ARMv5 and ARMv7 architecture builds, the latter giving improved performance with supporting CPUs. One or both can be included in an app (the system will load the most appropriate one if both are).
Android's native audio API (OpenSL ES-based) is used for audio output/input, which requires Android 2.3, but the "no sound" device is still available with older versions (decoding channels could be fed into the AudioTrack stuff then). The BASS_CONFIG_DEV_BUFFER config option determines the device/output buffer size used by BASS. That currently defaults to 30ms, which I guess may be a bit low for some devices; try increasing that if you get stuttering output.
For convenience, the stream/sample/music creation functions include support for assets, via an "Asset" class. For example, a stream could be created from a "music.ogg" asset like this...
stream = BASS.BASS_StreamCreateFile(new BASS.Asset(getAssets(), "music.ogg"), 0, 0, 0);
An "mp3-free" BASS version is included, but it simply doesn't support MP3 rather than using an OS-provided MP3 decoder, as Android currently doesn't have any good way to do that. That will hopefully change in future.
Please report any problems/ideas/etc.