tonihei 89d01981bc Deprecate decode-only flag.
The flag is no longer used by our components and only set and checked
in a few places to guarantee compatiblity with existing renderers and
decoders that still use it.

The flag will be removed in the future due to its design limitations.

#minor-release

PiperOrigin-RevId: 571291168
2023-10-06 03:44:14 -07:00
..
2023-10-06 03:44:14 -07:00

MIDI decoder module

The MIDI module provides MidiExtractor for parsing standard MIDI files, and MidiRenderer which uses the audio synthesization library JSyn to process MIDI commands and render the PCM output.

Getting the module

The easiest way to get the module is to add it as a gradle dependency:

implementation 'androidx.media3:lib-decoder-midi:1.X.X'

where 1.X.X is the version, which must match the version of the other media modules being used.

Alternatively, you can clone this GitHub project and depend on the module locally. Instructions for doing this can be found in the top level README.

The module depends on JSyn as a maven dependency from jitpack.io and you will need to define the maven repository in your build scripts. For example, add

repositories {
    maven { url 'https://jitpack.io' }
}

in the build.gradle of module in your app that is using the MIDI module.

Use in the demo app

Modify the demo app's build.script file and uncomment the definition of the jitpack.io maven repository, as well as uncomment the dependency to the MIDI module in the dependencies section.