MediaFilepublic class MediaFile extends Object MediaScanner helper class.
{@hide} |
Fields Summary |
---|
public static final int | FILE_TYPE_MP3 | public static final int | FILE_TYPE_M4A | public static final int | FILE_TYPE_WAV | public static final int | FILE_TYPE_AMR | public static final int | FILE_TYPE_AWB | public static final int | FILE_TYPE_WMA | public static final int | FILE_TYPE_OGG | public static final int | FILE_TYPE_AAC | public static final int | FILE_TYPE_MKA | public static final int | FILE_TYPE_FLAC | private static final int | FIRST_AUDIO_FILE_TYPE | private static final int | LAST_AUDIO_FILE_TYPE | public static final int | FILE_TYPE_MID | public static final int | FILE_TYPE_SMF | public static final int | FILE_TYPE_IMY | private static final int | FIRST_MIDI_FILE_TYPE | private static final int | LAST_MIDI_FILE_TYPE | public static final int | FILE_TYPE_MP4 | public static final int | FILE_TYPE_M4V | public static final int | FILE_TYPE_3GPP | public static final int | FILE_TYPE_3GPP2 | public static final int | FILE_TYPE_WMV | public static final int | FILE_TYPE_ASF | public static final int | FILE_TYPE_MKV | public static final int | FILE_TYPE_MP2TS | public static final int | FILE_TYPE_AVI | public static final int | FILE_TYPE_WEBM | private static final int | FIRST_VIDEO_FILE_TYPE | private static final int | LAST_VIDEO_FILE_TYPE | public static final int | FILE_TYPE_MP2PS | private static final int | FIRST_VIDEO_FILE_TYPE2 | private static final int | LAST_VIDEO_FILE_TYPE2 | public static final int | FILE_TYPE_JPEG | public static final int | FILE_TYPE_GIF | public static final int | FILE_TYPE_PNG | public static final int | FILE_TYPE_BMP | public static final int | FILE_TYPE_WBMP | public static final int | FILE_TYPE_WEBP | private static final int | FIRST_IMAGE_FILE_TYPE | private static final int | LAST_IMAGE_FILE_TYPE | public static final int | FILE_TYPE_M3U | public static final int | FILE_TYPE_PLS | public static final int | FILE_TYPE_WPL | public static final int | FILE_TYPE_HTTPLIVE | private static final int | FIRST_PLAYLIST_FILE_TYPE | private static final int | LAST_PLAYLIST_FILE_TYPE | public static final int | FILE_TYPE_FL | private static final int | FIRST_DRM_FILE_TYPE | private static final int | LAST_DRM_FILE_TYPE | public static final int | FILE_TYPE_TEXT | public static final int | FILE_TYPE_HTML | public static final int | FILE_TYPE_PDF | public static final int | FILE_TYPE_XML | public static final int | FILE_TYPE_MS_WORD | public static final int | FILE_TYPE_MS_EXCEL | public static final int | FILE_TYPE_MS_POWERPOINT | public static final int | FILE_TYPE_ZIP | private static final HashMap | sFileTypeMap | private static final HashMap | sMimeTypeMap | private static final HashMap | sFileTypeToFormatMap | private static final HashMap | sMimeTypeToFormatMap | private static final HashMap | sFormatToMimeTypeMap |
Methods Summary |
---|
static void | addFileType(java.lang.String extension, int fileType, java.lang.String mimeType)
sFileTypeMap.put(extension, new MediaFileType(fileType, mimeType));
sMimeTypeMap.put(mimeType, Integer.valueOf(fileType));
| static void | addFileType(java.lang.String extension, int fileType, java.lang.String mimeType, int mtpFormatCode)
addFileType(extension, fileType, mimeType);
sFileTypeToFormatMap.put(extension, Integer.valueOf(mtpFormatCode));
sMimeTypeToFormatMap.put(mimeType, Integer.valueOf(mtpFormatCode));
sFormatToMimeTypeMap.put(mtpFormatCode, mimeType);
| public static java.lang.String | getFileTitle(java.lang.String path)
// extract file name after last slash
int lastSlash = path.lastIndexOf('/");
if (lastSlash >= 0) {
lastSlash++;
if (lastSlash < path.length()) {
path = path.substring(lastSlash);
}
}
// truncate the file extension (if any)
int lastDot = path.lastIndexOf('.");
if (lastDot > 0) {
path = path.substring(0, lastDot);
}
return path;
| public static android.media.MediaFile$MediaFileType | getFileType(java.lang.String path)
int lastDot = path.lastIndexOf('.");
if (lastDot < 0)
return null;
return sFileTypeMap.get(path.substring(lastDot + 1).toUpperCase(Locale.ROOT));
| public static int | getFileTypeForMimeType(java.lang.String mimeType)
Integer value = sMimeTypeMap.get(mimeType);
return (value == null ? 0 : value.intValue());
| public static int | getFormatCode(java.lang.String fileName, java.lang.String mimeType)
if (mimeType != null) {
Integer value = sMimeTypeToFormatMap.get(mimeType);
if (value != null) {
return value.intValue();
}
}
int lastDot = fileName.lastIndexOf('.");
if (lastDot > 0) {
String extension = fileName.substring(lastDot + 1).toUpperCase(Locale.ROOT);
Integer value = sFileTypeToFormatMap.get(extension);
if (value != null) {
return value.intValue();
}
}
return MtpConstants.FORMAT_UNDEFINED;
| public static java.lang.String | getMimeTypeForFile(java.lang.String path)
MediaFileType mediaFileType = getFileType(path);
return (mediaFileType == null ? null : mediaFileType.mimeType);
| public static java.lang.String | getMimeTypeForFormatCode(int formatCode)
return sFormatToMimeTypeMap.get(formatCode);
| public static boolean | isAudioFileType(int fileType)
addFileType("MP3", FILE_TYPE_MP3, "audio/mpeg", MtpConstants.FORMAT_MP3);
addFileType("MPGA", FILE_TYPE_MP3, "audio/mpeg", MtpConstants.FORMAT_MP3);
addFileType("M4A", FILE_TYPE_M4A, "audio/mp4", MtpConstants.FORMAT_MPEG);
addFileType("WAV", FILE_TYPE_WAV, "audio/x-wav", MtpConstants.FORMAT_WAV);
addFileType("AMR", FILE_TYPE_AMR, "audio/amr");
addFileType("AWB", FILE_TYPE_AWB, "audio/amr-wb");
if (isWMAEnabled()) {
addFileType("WMA", FILE_TYPE_WMA, "audio/x-ms-wma", MtpConstants.FORMAT_WMA);
}
addFileType("OGG", FILE_TYPE_OGG, "audio/ogg", MtpConstants.FORMAT_OGG);
addFileType("OGG", FILE_TYPE_OGG, "application/ogg", MtpConstants.FORMAT_OGG);
addFileType("OGA", FILE_TYPE_OGG, "application/ogg", MtpConstants.FORMAT_OGG);
addFileType("AAC", FILE_TYPE_AAC, "audio/aac", MtpConstants.FORMAT_AAC);
addFileType("AAC", FILE_TYPE_AAC, "audio/aac-adts", MtpConstants.FORMAT_AAC);
addFileType("MKA", FILE_TYPE_MKA, "audio/x-matroska");
addFileType("MID", FILE_TYPE_MID, "audio/midi");
addFileType("MIDI", FILE_TYPE_MID, "audio/midi");
addFileType("XMF", FILE_TYPE_MID, "audio/midi");
addFileType("RTTTL", FILE_TYPE_MID, "audio/midi");
addFileType("SMF", FILE_TYPE_SMF, "audio/sp-midi");
addFileType("IMY", FILE_TYPE_IMY, "audio/imelody");
addFileType("RTX", FILE_TYPE_MID, "audio/midi");
addFileType("OTA", FILE_TYPE_MID, "audio/midi");
addFileType("MXMF", FILE_TYPE_MID, "audio/midi");
addFileType("MPEG", FILE_TYPE_MP4, "video/mpeg", MtpConstants.FORMAT_MPEG);
addFileType("MPG", FILE_TYPE_MP4, "video/mpeg", MtpConstants.FORMAT_MPEG);
addFileType("MP4", FILE_TYPE_MP4, "video/mp4", MtpConstants.FORMAT_MPEG);
addFileType("M4V", FILE_TYPE_M4V, "video/mp4", MtpConstants.FORMAT_MPEG);
addFileType("3GP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("3GPP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("3G2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("3GPP2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("MKV", FILE_TYPE_MKV, "video/x-matroska");
addFileType("WEBM", FILE_TYPE_WEBM, "video/webm");
addFileType("TS", FILE_TYPE_MP2TS, "video/mp2ts");
addFileType("AVI", FILE_TYPE_AVI, "video/avi");
if (isWMVEnabled()) {
addFileType("WMV", FILE_TYPE_WMV, "video/x-ms-wmv", MtpConstants.FORMAT_WMV);
addFileType("ASF", FILE_TYPE_ASF, "video/x-ms-asf");
}
addFileType("JPG", FILE_TYPE_JPEG, "image/jpeg", MtpConstants.FORMAT_EXIF_JPEG);
addFileType("JPEG", FILE_TYPE_JPEG, "image/jpeg", MtpConstants.FORMAT_EXIF_JPEG);
addFileType("GIF", FILE_TYPE_GIF, "image/gif", MtpConstants.FORMAT_GIF);
addFileType("PNG", FILE_TYPE_PNG, "image/png", MtpConstants.FORMAT_PNG);
addFileType("BMP", FILE_TYPE_BMP, "image/x-ms-bmp", MtpConstants.FORMAT_BMP);
addFileType("WBMP", FILE_TYPE_WBMP, "image/vnd.wap.wbmp");
addFileType("WEBP", FILE_TYPE_WEBP, "image/webp");
addFileType("M3U", FILE_TYPE_M3U, "audio/x-mpegurl", MtpConstants.FORMAT_M3U_PLAYLIST);
addFileType("M3U", FILE_TYPE_M3U, "application/x-mpegurl", MtpConstants.FORMAT_M3U_PLAYLIST);
addFileType("PLS", FILE_TYPE_PLS, "audio/x-scpls", MtpConstants.FORMAT_PLS_PLAYLIST);
addFileType("WPL", FILE_TYPE_WPL, "application/vnd.ms-wpl", MtpConstants.FORMAT_WPL_PLAYLIST);
addFileType("M3U8", FILE_TYPE_HTTPLIVE, "application/vnd.apple.mpegurl");
addFileType("M3U8", FILE_TYPE_HTTPLIVE, "audio/mpegurl");
addFileType("M3U8", FILE_TYPE_HTTPLIVE, "audio/x-mpegurl");
addFileType("FL", FILE_TYPE_FL, "application/x-android-drm-fl");
addFileType("TXT", FILE_TYPE_TEXT, "text/plain", MtpConstants.FORMAT_TEXT);
addFileType("HTM", FILE_TYPE_HTML, "text/html", MtpConstants.FORMAT_HTML);
addFileType("HTML", FILE_TYPE_HTML, "text/html", MtpConstants.FORMAT_HTML);
addFileType("PDF", FILE_TYPE_PDF, "application/pdf");
addFileType("DOC", FILE_TYPE_MS_WORD, "application/msword", MtpConstants.FORMAT_MS_WORD_DOCUMENT);
addFileType("XLS", FILE_TYPE_MS_EXCEL, "application/vnd.ms-excel", MtpConstants.FORMAT_MS_EXCEL_SPREADSHEET);
addFileType("PPT", FILE_TYPE_MS_POWERPOINT, "application/mspowerpoint", MtpConstants.FORMAT_MS_POWERPOINT_PRESENTATION);
addFileType("FLAC", FILE_TYPE_FLAC, "audio/flac", MtpConstants.FORMAT_FLAC);
addFileType("ZIP", FILE_TYPE_ZIP, "application/zip");
addFileType("MPG", FILE_TYPE_MP2PS, "video/mp2p");
addFileType("MPEG", FILE_TYPE_MP2PS, "video/mp2p");
return ((fileType >= FIRST_AUDIO_FILE_TYPE &&
fileType <= LAST_AUDIO_FILE_TYPE) ||
(fileType >= FIRST_MIDI_FILE_TYPE &&
fileType <= LAST_MIDI_FILE_TYPE));
| public static boolean | isDrmFileType(int fileType)
return (fileType >= FIRST_DRM_FILE_TYPE &&
fileType <= LAST_DRM_FILE_TYPE);
| public static boolean | isImageFileType(int fileType)
return (fileType >= FIRST_IMAGE_FILE_TYPE &&
fileType <= LAST_IMAGE_FILE_TYPE);
| public static boolean | isMimeTypeMedia(java.lang.String mimeType)
int fileType = getFileTypeForMimeType(mimeType);
return isAudioFileType(fileType) || isVideoFileType(fileType)
|| isImageFileType(fileType) || isPlayListFileType(fileType);
| public static boolean | isPlayListFileType(int fileType)
return (fileType >= FIRST_PLAYLIST_FILE_TYPE &&
fileType <= LAST_PLAYLIST_FILE_TYPE);
| public static boolean | isVideoFileType(int fileType)
return (fileType >= FIRST_VIDEO_FILE_TYPE &&
fileType <= LAST_VIDEO_FILE_TYPE)
|| (fileType >= FIRST_VIDEO_FILE_TYPE2 &&
fileType <= LAST_VIDEO_FILE_TYPE2);
| private static boolean | isWMAEnabled()
List<AudioDecoder> decoders = DecoderCapabilities.getAudioDecoders();
int count = decoders.size();
for (int i = 0; i < count; i++) {
AudioDecoder decoder = decoders.get(i);
if (decoder == AudioDecoder.AUDIO_DECODER_WMA) {
return true;
}
}
return false;
| private static boolean | isWMVEnabled()
List<VideoDecoder> decoders = DecoderCapabilities.getVideoDecoders();
int count = decoders.size();
for (int i = 0; i < count; i++) {
VideoDecoder decoder = decoders.get(i);
if (decoder == VideoDecoder.VIDEO_DECODER_WMV) {
return true;
}
}
return false;
|
|