public static FileCategory getCategoryFromPath(String path) { MediaFileType type = MediaFile.getFileType(path); if (type != null) { if (MediaFile.isAudioFileType(type.fileType)) return FileCategory.Music; if (MediaFile.isVideoFileType(type.fileType)) return FileCategory.Video; if (MediaFile.isImageFileType(type.fileType)) return FileCategory.Picture; if (Util.sDocMimeTypesSet.contains(type.mimeType)) return FileCategory.Doc; } int dotPosition = path.lastIndexOf('.'); if (dotPosition < 0) { return FileCategory.Other; } String ext = path.substring(dotPosition + 1); if (ext.equalsIgnoreCase(APK_EXT)) { return FileCategory.Apk; } if (ext.equalsIgnoreCase(THEME_EXT)) { return FileCategory.Theme; } if (matchExts(ext, ZIP_EXTS)) { return FileCategory.Zip; } return FileCategory.Other; }
public boolean mkdir() throws IOException { if (file.exists()) { return file.isDirectory(); } File tmpFile = new File(file, ".MediaWriteTemp"); int albumId = getTemporaryAlbumId(); if (albumId == 0) { throw new IOException("Fail"); } Uri albumUri = Uri.parse(ALBUM_ART_URI + '/' + albumId); ContentValues values = new ContentValues(); values.put(MediaStore.MediaColumns.DATA, tmpFile.getAbsolutePath()); if (contentResolver.update(albumUri, values, null, null) == 0) { values.put(MediaStore.Audio.AlbumColumns.ALBUM_ID, albumId); contentResolver.insert(Uri.parse(ALBUM_ART_URI), values); } try { ParcelFileDescriptor fd = contentResolver.openFileDescriptor(albumUri, "r"); fd.close(); } finally { MediaFile tmpMediaFile = new MediaFile(context, tmpFile); tmpMediaFile.delete(); } return file.exists(); }
@Override public Future<BitmapInfo> loadBitmap(Ion ion, String uri, int resizeWidth, int resizeHeight) { if (!uri.startsWith(ContentResolver.SCHEME_FILE)) return null; final File file = new File(URI.create(uri)); MediaFile.MediaFileType type = MediaFile.getFileType(file.getAbsolutePath()); if (type == null || !MediaFile.isVideoFileType(type.fileType)) return null; final SimpleFuture<BitmapInfo> ret = new SimpleFuture<BitmapInfo>(); Ion.getBitmapLoadExecutorService() .execute( new Runnable() { @Override public void run() { if (ret.isCancelled()) { // Log.d("VideoLoader", "Bitmap load cancelled (no longer // needed)"); return; } try { Bitmap bmp = createVideoThumbnail(file.getAbsolutePath()); if (bmp == null) throw new Exception("video bitmap failed to load"); BitmapInfo info = new BitmapInfo(); info.bitmaps = new Bitmap[] {bmp}; info.loadedFrom = LoaderEmitter.LOADED_FROM_CACHE; ret.setComplete(info); } catch (Exception e) { ret.setComplete(e); } } }); return ret; }
/** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { Scanner in = new Scanner(System.in); System.out.println("Please enter Folder containing files: "); String path = in.nextLine(); System.out.println("Please enter Album name: "); String album = in.nextLine(); File dir = new File(path); if (dir.isDirectory()) { String[] files = dir.list(); for (int i = 0; i < files.length; i++) { File source = new File(path + "\\" + files[i]); MediaFile mediafile = new MP3File(source); ID3V2_3_0Tag oID3V2_3_0Tag = new ID3V2_3_0Tag(); oID3V2_3_0Tag.setAlbum(album); mediafile.setID3Tag(oID3V2_3_0Tag); mediafile.sync(); } } else { System.out.println("Not a directory"); } System.out.println("I'm Done"); }
public static Airing getAirObj(Object o) { if (o instanceof sage.vfs.MediaNode) o = ((sage.vfs.MediaNode) o).getDataObject(); if (o instanceof MediaFile) return ((MediaFile) o).getContentAiring(); else if (o instanceof Airing) return (Airing) o; else if (o instanceof java.io.File) { MediaFile mf = Wizard.getInstance().getFileForFilePath((java.io.File) o); return (mf == null) ? null : mf.getContentAiring(); } else return null; }