android.provider.MediaStore.Video Java Examples
The following examples show how to use
android.provider.MediaStore.Video.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: BitmapManager.java From droidddle with Apache License 2.0 | 6 votes |
public synchronized void cancelThreadDecoding(Thread t, ContentResolver cr) { ThreadStatus status = getOrCreateThreadStatus(t); status.mState = State.CANCEL; if (status.mOptions != null) { status.mOptions.requestCancelDecode(); } // Wake up threads in waiting list notifyAll(); // Since our cancel request can arrive MediaProvider earlier than getThumbnail request, // we use mThumbRequesting flag to make sure our request does cancel the request. try { synchronized (status) { while (status.mThumbRequesting) { Images.Thumbnails.cancelThumbnailRequest(cr, -1, t.getId()); Video.Thumbnails.cancelThumbnailRequest(cr, -1, t.getId()); status.wait(200); } } } catch (InterruptedException ex) { // ignore it. } }
Example #2
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected long getVideoForBucketCleared(long bucketId) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); Cursor cursor = null; try { cursor = resolver.query(Video.Media.EXTERNAL_CONTENT_URI, VideosBucketThumbnailQuery.PROJECTION, VideoColumns.BUCKET_ID + "=" + bucketId, null, VideoColumns.DATE_MODIFIED + " DESC"); if (cursor.moveToFirst()) { return cursor.getLong(VideosBucketThumbnailQuery._ID); } } finally { IoUtils.closeQuietly(cursor); } throw new FileNotFoundException("No video found for bucket"); }
Example #3
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected AssetFileDescriptor openVideoThumbnailCleared(long id, CancellationSignal signal) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); Cursor cursor = null; try { cursor = resolver.query(Video.Thumbnails.EXTERNAL_CONTENT_URI, VideoThumbnailQuery.PROJECTION, Video.Thumbnails.VIDEO_ID + "=" + id, null, null); if (cursor.moveToFirst()) { final String data = cursor.getString(VideoThumbnailQuery._DATA); return new AssetFileDescriptor(ParcelFileDescriptor.open( new File(data), ParcelFileDescriptor.MODE_READ_ONLY), 0, AssetFileDescriptor.UNKNOWN_LENGTH); } } finally { IoUtils.closeQuietly(cursor); } return null; }
Example #4
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected AssetFileDescriptor openOrCreateVideoThumbnailCleared( long id, CancellationSignal signal) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); AssetFileDescriptor afd = openVideoThumbnailCleared(id, signal); if (afd == null) { // No thumbnail yet, so generate. This is messy, since we drop the // Bitmap on the floor, but its the least-complicated way. final BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inJustDecodeBounds = true; Video.Thumbnails.getThumbnail(resolver, id, Video.Thumbnails.MINI_KIND, opts); afd = openVideoThumbnailCleared(id, signal); } return afd; }
Example #5
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected long getVideoForBucketCleared(long bucketId) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); Cursor cursor = null; try { cursor = resolver.query(Video.Media.EXTERNAL_CONTENT_URI, VideosBucketThumbnailQuery.PROJECTION, VideoColumns.BUCKET_ID + "=" + bucketId, null, VideoColumns.DATE_MODIFIED + " DESC"); if (cursor.moveToFirst()) { return cursor.getLong(VideosBucketThumbnailQuery._ID); } } finally { IoUtils.closeQuietly(cursor); } throw new FileNotFoundException("No video found for bucket"); }
Example #6
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected AssetFileDescriptor openVideoThumbnailCleared(long id, CancellationSignal signal) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); Cursor cursor = null; try { cursor = resolver.query(Video.Thumbnails.EXTERNAL_CONTENT_URI, VideoThumbnailQuery.PROJECTION, Video.Thumbnails.VIDEO_ID + "=" + id, null, null); if (cursor.moveToFirst()) { final String data = cursor.getString(VideoThumbnailQuery._DATA); return new AssetFileDescriptor(ParcelFileDescriptor.open( new File(data), ParcelFileDescriptor.MODE_READ_ONLY), 0, AssetFileDescriptor.UNKNOWN_LENGTH); } } finally { IoUtils.closeQuietly(cursor); } return null; }
Example #7
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected AssetFileDescriptor openOrCreateVideoThumbnailCleared( long id, CancellationSignal signal) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); AssetFileDescriptor afd = openVideoThumbnailCleared(id, signal); if (afd == null) { // No thumbnail yet, so generate. This is messy, since we drop the // Bitmap on the floor, but its the least-complicated way. final BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inJustDecodeBounds = true; Video.Thumbnails.getThumbnail(resolver, id, Video.Thumbnails.MINI_KIND, opts); afd = openVideoThumbnailCleared(id, signal); } return afd; }
Example #8
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected long getVideoForBucketCleared(long bucketId) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); Cursor cursor = null; try { cursor = resolver.query(Video.Media.EXTERNAL_CONTENT_URI, VideosBucketThumbnailQuery.PROJECTION, VideoColumns.BUCKET_ID + "=" + bucketId, null, VideoColumns.DATE_MODIFIED + " DESC"); if (cursor.moveToFirst()) { return cursor.getLong(VideosBucketThumbnailQuery._ID); } } finally { IoUtils.closeQuietly(cursor); } throw new FileNotFoundException("No video found for bucket"); }
Example #9
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected AssetFileDescriptor openVideoThumbnailCleared(long id, CancellationSignal signal) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); Cursor cursor = null; try { cursor = resolver.query(Video.Thumbnails.EXTERNAL_CONTENT_URI, VideoThumbnailQuery.PROJECTION, Video.Thumbnails.VIDEO_ID + "=" + id, null, null); if (cursor.moveToFirst()) { final String data = cursor.getString(VideoThumbnailQuery._DATA); return new AssetFileDescriptor(ParcelFileDescriptor.open( new File(data), ParcelFileDescriptor.MODE_READ_ONLY), 0, AssetFileDescriptor.UNKNOWN_LENGTH); } } finally { IoUtils.closeQuietly(cursor); } return null; }
Example #10
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 6 votes |
protected AssetFileDescriptor openOrCreateVideoThumbnailCleared( long id, CancellationSignal signal) throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); AssetFileDescriptor afd = openVideoThumbnailCleared(id, signal); if (afd == null) { // No thumbnail yet, so generate. This is messy, since we drop the // Bitmap on the floor, but its the least-complicated way. final BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inJustDecodeBounds = true; Video.Thumbnails.getThumbnail(resolver, id, Video.Thumbnails.MINI_KIND, opts); afd = openVideoThumbnailCleared(id, signal); } return afd; }
Example #11
Source File: MediaRepository.java From mollyim-android with GNU General Public License v3.0 | 6 votes |
@WorkerThread private @NonNull List<Media> getMediaInBucket(@NonNull Context context, @NonNull String bucketId) { if (!Permissions.hasAll(context, Manifest.permission.READ_EXTERNAL_STORAGE)) { return Collections.emptyList(); } List<Media> images = getMediaInBucket(context, bucketId, Images.Media.EXTERNAL_CONTENT_URI, true); List<Media> videos = getMediaInBucket(context, bucketId, Video.Media.EXTERNAL_CONTENT_URI, false); List<Media> media = new ArrayList<>(images.size() + videos.size()); media.addAll(images); media.addAll(videos); Collections.sort(media, (o1, o2) -> Long.compare(o2.getDate(), o1.getDate())); return media; }
Example #12
Source File: BitmapManager.java From droidddle with Apache License 2.0 | 6 votes |
public Bitmap getThumbnail(ContentResolver cr, long origId, int kind, BitmapFactory.Options options, boolean isVideo) { Thread t = Thread.currentThread(); ThreadStatus status = getOrCreateThreadStatus(t); if (!canThreadDecoding(t)) { Log.d(TAG, "Thread " + t + " is not allowed to decode."); return null; } try { synchronized (status) { status.mThumbRequesting = true; } if (isVideo) { return Video.Thumbnails.getThumbnail(cr, origId, t.getId(), kind, null); } else { return Images.Thumbnails.getThumbnail(cr, origId, t.getId(), kind, null); } } finally { synchronized (status) { status.mThumbRequesting = false; status.notifyAll(); } } }
Example #13
Source File: MediaUtils.java From android-utils with MIT License | 6 votes |
@Nullable /** * Creates external content:// scheme uri to save the videos at. **/ public static Uri createVideoUri(Context ctx) throws IOException { if (ctx == null) { throw new NullPointerException("Context cannot be null"); } Uri imageUri = null; ContentValues values = new ContentValues(); values.put(MediaStore.MediaColumns.TITLE, ""); values.put(MediaStore.Images.ImageColumns.DESCRIPTION, ""); imageUri = ctx.getContentResolver().insert(Video.Media.EXTERNAL_CONTENT_URI, values); return imageUri; }
Example #14
Source File: Utils.java From android-utils with MIT License | 6 votes |
@Nullable /** * @deprecated Use {@link MediaUtils#createVideoUri(Context)} * Creates external content:// scheme uri to save the videos at. */ public static Uri createVideoUri(Context ctx) throws IOException { if (ctx == null) { throw new NullPointerException("Context cannot be null"); } Uri imageUri; ContentValues values = new ContentValues(); values.put(MediaColumns.TITLE, ""); values.put(ImageColumns.DESCRIPTION, ""); imageUri = ctx.getContentResolver().insert(Video.Media.EXTERNAL_CONTENT_URI, values); return imageUri; }
Example #15
Source File: PBJournalAdapter.java From client-android with GNU General Public License v2.0 | 6 votes |
@Override public boolean handleMessage(Message message) { // done on async thread final View view = (View) message.obj; final ImageView thumbImageView = (ImageView) view.findViewById(R.id.thumbnail); Bitmap bitmap = Images.Thumbnails.getThumbnail(context.getContentResolver(), message.what, Images.Thumbnails.MICRO_KIND, null); if (bitmap == null) { bitmap = Video.Thumbnails.getThumbnail(context.getContentResolver(), message.what, Video.Thumbnails.MICRO_KIND, null); } final Bitmap fBitmap = bitmap; // back on UI thread to set the bitmap to the view new Handler(context.getMainLooper()).post(new Runnable() { @Override public void run() { thumbImageView.setImageBitmap(fBitmap); } }); return true; }
Example #16
Source File: Util.java From FFmpegRecorder with GNU General Public License v3.0 | 6 votes |
public static String createFinalPath(Context context) { long dateTaken = System.currentTimeMillis(); String title = CONSTANTS.FILE_START_NAME + dateTaken; String filename = title + CONSTANTS.VIDEO_EXTENSION; String filePath = genrateFilePath(context,String.valueOf(dateTaken), true, null); ContentValues values = new ContentValues(7); values.put(Video.Media.TITLE, title); values.put(Video.Media.DISPLAY_NAME, filename); values.put(Video.Media.DATE_TAKEN, dateTaken); values.put(Video.Media.MIME_TYPE, "video/3gpp"); values.put(Video.Media.DATA, filePath); videoContentValues = values; return filePath; }
Example #17
Source File: BitmapManager.java From reader with MIT License | 6 votes |
public synchronized void cancelThreadDecoding(Thread t, ContentResolver cr) { ThreadStatus status = getOrCreateThreadStatus(t); status.mState = State.CANCEL; if (status.mOptions != null) { status.mOptions.requestCancelDecode(); } // Wake up threads in waiting list notifyAll(); // Since our cancel request can arrive MediaProvider earlier than getThumbnail request, // we use mThumbRequesting flag to make sure our request does cancel the request. try { synchronized (status) { while (status.mThumbRequesting) { Images.Thumbnails.cancelThumbnailRequest(cr, -1, t.getId()); Video.Thumbnails.cancelThumbnailRequest(cr, -1, t.getId()); status.wait(200); } } } catch (InterruptedException ex) { // ignore it. } }
Example #18
Source File: BitmapManager.java From reader with MIT License | 6 votes |
public synchronized void cancelThreadDecoding(Thread t, ContentResolver cr) { ThreadStatus status = getOrCreateThreadStatus(t); status.mState = State.CANCEL; if (status.mOptions != null) { status.mOptions.requestCancelDecode(); } // Wake up threads in waiting list notifyAll(); // Since our cancel request can arrive MediaProvider earlier than getThumbnail request, // we use mThumbRequesting flag to make sure our request does cancel the request. try { synchronized (status) { while (status.mThumbRequesting) { Images.Thumbnails.cancelThumbnailRequest(cr, -1, t.getId()); Video.Thumbnails.cancelThumbnailRequest(cr, -1, t.getId()); status.wait(200); } } } catch (InterruptedException ex) { // ignore it. } }
Example #19
Source File: Util.java From VideoRecorder with Apache License 2.0 | 6 votes |
public static String createFinalPath(Context context) { long dateTaken = System.currentTimeMillis(); String title = CONSTANTS.FILE_START_NAME + dateTaken; String filename = title + CONSTANTS.VIDEO_EXTENSION; String filePath = genrateFilePath(context,String.valueOf(dateTaken), true, null); ContentValues values = new ContentValues(7); values.put(Video.Media.TITLE, title); values.put(Video.Media.DISPLAY_NAME, filename); values.put(Video.Media.DATE_TAKEN, dateTaken); values.put(Video.Media.MIME_TYPE, "video/3gpp"); values.put(Video.Media.DATA, filePath); videoContentValues = values; return filePath; }
Example #20
Source File: UploadService.java From flickr-uploader with GNU General Public License v2.0 | 6 votes |
@Override public void onCreate() { super.onCreate(); instance = this; LOG.debug("Service created…"); running = true; getContentResolver().registerContentObserver(Images.Media.EXTERNAL_CONTENT_URI, true, imageTableObserver); getContentResolver().registerContentObserver(Video.Media.EXTERNAL_CONTENT_URI, true, imageTableObserver); if (thread == null || !thread.isAlive()) { thread = new Thread(new UploadRunnable()); thread.start(); } IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); registerReceiver(batteryReceiver, filter); checkNewFiles(); Notifications.init(); }
Example #21
Source File: BucketHelper.java From medialibrary with Apache License 2.0 | 6 votes |
private static BucketEntry[] loadBucketEntriesFromImagesAndVideoTable( ThreadPool.JobContext jc, ContentResolver resolver, int type) { HashMap<Integer, BucketEntry> buckets = new HashMap<Integer, BucketEntry>(64); if ((type & MediaObject.MEDIA_TYPE_IMAGE) != 0) { updateBucketEntriesFromTable( jc, resolver, Images.Media.EXTERNAL_CONTENT_URI, buckets); } if ((type & MediaObject.MEDIA_TYPE_VIDEO) != 0) { updateBucketEntriesFromTable( jc, resolver, Video.Media.EXTERNAL_CONTENT_URI, buckets); } BucketEntry[] entries = buckets.values().toArray(new BucketEntry[buckets.size()]); Arrays.sort(entries, new Comparator<BucketEntry>() { @Override public int compare(BucketEntry a, BucketEntry b) { // sorted by dateTaken in descending order return b.dateTaken - a.dateTaken; } }); return entries; }
Example #22
Source File: LocalVideo.java From medialibrary with Apache License 2.0 | 6 votes |
public LocalVideo(Path path, MediaDataContext context, int id) { super(path, nextVersionNumber()); mApplication = context; ContentResolver resolver = mApplication.getContentResolver(); Uri uri = Video.Media.EXTERNAL_CONTENT_URI; Cursor cursor = LocalAlbum.getItemCursor(resolver, uri, PROJECTION, id); if (cursor == null) { throw new RuntimeException("cannot get cursor for: " + path); } try { if (cursor.moveToNext()) { loadFromCursor(cursor); } else { throw new RuntimeException("cannot find data for: " + path); } } finally { cursor.close(); } }
Example #23
Source File: VideoModule.java From Camera2 with Apache License 2.0 | 6 votes |
private void saveVideo() { if (mVideoFileDescriptor == null) { long duration = SystemClock.uptimeMillis() - mRecordingStartTime; if (duration > 0) { // } else { Log.w(TAG, "Video duration <= 0 : " + duration); } mCurrentVideoValues.put(Video.Media.SIZE, new File(mCurrentVideoFilename).length()); mCurrentVideoValues.put(Video.Media.DURATION, duration); getServices().getMediaSaver().addVideo(mCurrentVideoFilename, mCurrentVideoValues, mOnVideoSavedListener); logVideoCapture(duration); } mCurrentVideoValues = null; }
Example #24
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 5 votes |
protected long getVideoForPathCleared(String path)throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); Cursor cursor = null; try { cursor = resolver.query(Video.Media.EXTERNAL_CONTENT_URI, VideosBucketThumbnailQuery.PROJECTION, VideoColumns.DATA + "=? ", new String[] { path.replaceAll("'", "''") }, VideoColumns.DATE_MODIFIED + " DESC"); if (cursor.moveToFirst()) { return cursor.getLong(VideosBucketThumbnailQuery._ID); } } finally { IoUtils.closeQuietly(cursor); } throw new FileNotFoundException("No video found for bucket"); }
Example #25
Source File: StorageProvider.java From FireFiles with Apache License 2.0 | 5 votes |
protected long getVideoForPathCleared(String path)throws FileNotFoundException { final ContentResolver resolver = getContext().getContentResolver(); Cursor cursor = null; try { cursor = resolver.query(Video.Media.EXTERNAL_CONTENT_URI, VideosBucketThumbnailQuery.PROJECTION, VideoColumns.DATA + "=? ", new String[] { path.replaceAll("'", "''") }, VideoColumns.DATE_MODIFIED + " DESC"); if (cursor.moveToFirst()) { return cursor.getLong(VideosBucketThumbnailQuery._ID); } } finally { IoUtils.closeQuietly(cursor); } throw new FileNotFoundException("No video found for bucket"); }
Example #26
Source File: LocalAlbum.java From medialibrary with Apache License 2.0 | 5 votes |
@Override public Uri getContentUri() { if (mIsImage) { return Images.Media.EXTERNAL_CONTENT_URI.buildUpon() .appendQueryParameter(LocalSource.KEY_BUCKET_ID, String.valueOf(mBucketId)).build(); } else { return Video.Media.EXTERNAL_CONTENT_URI.buildUpon() .appendQueryParameter(LocalSource.KEY_BUCKET_ID, String.valueOf(mBucketId)).build(); } }
Example #27
Source File: LocalAlbum.java From medialibrary with Apache License 2.0 | 5 votes |
public LocalAlbum(Path path, MediaDataContext application, int bucketId, boolean isImage, String name) { super(path, nextVersionNumber()); mApplication = application; mResolver = application.getContentResolver(); mBucketId = bucketId; mName = name; mIsImage = isImage; if (isImage) { mWhereClause = ImageColumns.BUCKET_ID + " = ?"; mOrderClause = ImageColumns.DATE_TAKEN + " DESC, " + ImageColumns._ID + " DESC"; mBaseUri = Images.Media.EXTERNAL_CONTENT_URI; mProjection = LocalImage.PROJECTION; mItemPath = LocalImage.ITEM_PATH; } else { mWhereClause = VideoColumns.BUCKET_ID + " = ?"; mOrderClause = VideoColumns.DATE_TAKEN + " DESC, " + VideoColumns._ID + " DESC"; mBaseUri = Video.Media.EXTERNAL_CONTENT_URI; mProjection = LocalVideo.PROJECTION; mItemPath = LocalVideo.ITEM_PATH; } mNotifier = new ChangeNotifier(this, mBaseUri, application); }
Example #28
Source File: MediaUtils.java From android-utils with MIT License | 5 votes |
/** * Get runtime duration of media such as audio or video in milliseconds ****/ public static long getDuration(Context ctx, Uri mediaUri) { Cursor cur = ctx.getContentResolver().query(mediaUri, new String[]{Video.Media.DURATION}, null, null, null); long duration = -1; try { if (cur != null && cur.getCount() > 0) { while (cur.moveToNext()) { duration = cur.getLong(cur.getColumnIndex(Video.Media.DURATION)); if (duration == 0) Log.w(TAG, "#getMediaDuration The image size was found to be 0. Reason: UNKNOWN"); } // end while } else if (cur.getCount() == 0) { Log.e(TAG, "#getMediaDuration cur size is 0. File may not exist"); } else { Log.e(TAG, "#getMediaDuration cur is null"); } } finally { if (cur != null && !cur.isClosed()) { cur.close(); } } return duration; }
Example #29
Source File: MediaSaverImpl.java From Camera2 with Apache License 2.0 | 5 votes |
@Override protected Uri doInBackground(Void... v) { Uri uri = null; try { Uri videoTable = Uri.parse(VIDEO_BASE_URI); uri = resolver.insert(videoTable, values); // Rename the video file to the final name. This avoids other // apps reading incomplete data. We need to do it after we are // certain that the previous insert to MediaProvider is completed. String finalName = values.getAsString(Video.Media.DATA); File finalFile = new File(finalName); if (new File(path).renameTo(finalFile)) { path = finalName; } resolver.update(uri, values, null, null); } catch (Exception e) { // We failed to insert into the database. This can happen if // the SD card is unmounted. Log.e(TAG, "failed to add video to media store", e); uri = null; } finally { Log.v(TAG, "Current video URI: " + uri); } return uri; }
Example #30
Source File: FFmpegRecorderActivity.java From FFmpegRecorder with GNU General Public License v3.0 | 5 votes |
/** * ��ϵͳע������¼�Ƶ���Ƶ�ļ��������ļ��Ż���sd������ʾ */ private void registerVideo() { Uri videoTable = Uri.parse(CONSTANTS.VIDEO_CONTENT_URI); Util.videoContentValues.put(Video.Media.SIZE, new File(strVideoPath).length()); try{ uriVideoPath = getContentResolver().insert(videoTable, Util.videoContentValues); } catch (Throwable e){ uriVideoPath = null; strVideoPath = null; e.printStackTrace(); } finally{} Util.videoContentValues = null; }