Mediaフォーマット追加
例えば、AndroidのNativeに手を加え、MediaPlayerで再生できるフォーマットを増やしたとする。
しかしそのままでは、その新しいフォーマットはMediaフォーマットとしては認識されず、データベースに登録してくれない。
Mediaフォーマットの追加をするためには、frameworks/base/media/java/android/media/MediaFile.javaを修正する。
36行目あたりから、Audio file types, MIDI file typesと定義している箇所に、任意のフォーマットを定義する。
値は必ず連番になるように指定し、FIRST_XXXX_FILE_TYPEとLAST_XXXX_FILE_TYPEの範囲に入るように変更する。
(例)着信メロディ(SMAF)を追加
public static final int FILE_TYPE_MID = 11; public static final int FILE_TYPE_SMF = 12; public static final int FILE_TYPE_IMY = 13; public static final int FILE_TYPE_SMAF = 14; // 追加! private static final int FIRST_MIDI_FILE_TYPE = FILE_TYPE_MID; private static final int LAST_MIDI_FILE_TYPE = FILE_TYPE_SMAF; // SMAFを範囲内に!
98行目あたりから、フォーマットの拡張子とMIME-TYPEの定義をしている。
追加したフォーマットについても、同じように定義する。
static { ... addFileType("MMF", FILE_TYPE_SMAF, "application/vnd.smaf"); // 追加! ... }