Android MediaStore insertVideo

Таким образом, наше приложение имеет опцию сделать или снимок или видео. Если пользователь делает снимок, мы можем использовать MediaStore. Изображения. Функция Media.insertImage, чтобы добавить новое изображение (через filepath) в галерею телефона и генерировать content://разрабатывает URI. Существует ли подобный процесс для записанного видео, учитывая, что мы только имеем, это - filepath?

7
задан Robert 22 January 2010 в 00:47
поделиться

1 ответ

Меня также интересует, не могли бы вы найти решение?

Изменить: решение - RTFM. Основываясь на главе «Поставщики контента», вот мой код, который работал:

        // Save the name and description of a video in a ContentValues map.  
        ContentValues values = new ContentValues(2);
        values.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
        // values.put(MediaStore.Video.Media.DATA, f.getAbsolutePath()); 

        // Add a new record (identified by uri) without the video, but with the values just set.
        Uri uri = getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values);

        // Now get a handle to the file for that record, and save the data into it.
        try {
            InputStream is = new FileInputStream(f);
            OutputStream os = getContentResolver().openOutputStream(uri);
            byte[] buffer = new byte[4096]; // tweaking this number may increase performance
            int len;
            while ((len = is.read(buffer)) != -1){
                os.write(buffer, 0, len);
            }
            os.flush();
            is.close();
            os.close();
        } catch (Exception e) {
            Log.e(TAG, "exception while writing video: ", e);
        } 

        sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));
6
ответ дан 6 December 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: