powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / видео приложение не может видео играть файл, хотя расшарить его получается
5 сообщений из 5, страница 1 из 1
видео приложение не может видео играть файл, хотя расшарить его получается
    #39487059
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть mp4 видео файл

Файл точно рабочий, им можно поделиться и потом проиграть.
Файл создаётся под FileProvider

Вот код для отправки в плеер
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
        File file = new File(filePath);
        Uri contentUri = FileProvider.getUriForFile(getApplicationContext(), "com.screencapture.reva.screencapture.fileprovider", file);
        grantUriPermission("com.screencapture.reva.screencapture.fileprovider", contentUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);

        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(contentUri, "video/mp4");
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        startActivity(intent);


Я так понимаю пытается открыть видео проигрыватель а дальше я вижу сообщение:
В приложении "Видео" произошла ошибка

В чём может быть проблема?
Проект на github https://github.com/artemu78/ScreenVideoCapture
...
Рейтинг: 0 / 0
видео приложение не может видео играть файл, хотя расшарить его получается
    #39487136
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
u78 В приложении "Видео" произошла ошибка
Наверное глупость спрошу, но в логах что?
Туда вообще всегда нужно первым делом смотреть.
...
Рейтинг: 0 / 0
видео приложение не может видео играть файл, хотя расшарить его получается
    #39487137
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

не глупость
что за логи? где смотреть?
...
Рейтинг: 0 / 0
видео приложение не может видео играть файл, хотя расшарить его получается
    #39487146
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помимо того, что в отладке студия сама вываливает лог в одно из своих окошек, можно и внешним воспользоваться https://developer.android.com/studio/profile/monitor.html
...
Рейтинг: 0 / 0
видео приложение не может видео играть файл, хотя расшарить его получается
    #39488604
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечу сам себе.
Код правильный и не работает только благодаря хитростям FileProvider.
Пришлось копировать сайт в публичную папку и оттуда открывать на просмотр:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
            //copy file
            File srcFile = new File(filePath);
            File dstDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);
            String newFile;
            try {
                newFile = copyFile(srcFile,dstDir);
            } catch (IOException e) {
                Log.e(TAG,e.getMessage());
                return;
            }


            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(newFile));
            intent.setDataAndType(Uri.parse(newFile), "video/mp4");
            //intent.setData(Uri.parse(filePath));
            //intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            startActivity(intent);



А вот функция копирования
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    /**
     * Move source file to destination directory
     * @param fileSrc - source file
     * @param dirDst - destination directory
     * @throws IOException
     */
    private String copyFile(File fileSrc, File dirDst) throws IOException {
        File newFile = new File(dirDst, fileSrc.getName());
        FileChannel outputChannel = null;
        FileChannel inputChannel = null;
        try {
            outputChannel = new FileOutputStream(newFile).getChannel();
            inputChannel = new FileInputStream(fileSrc).getChannel();
            inputChannel.transferTo(0, inputChannel.size(), outputChannel);
            inputChannel.close();
            //fileSrc.delete();
        } finally {
            if (inputChannel != null) inputChannel.close();
            if (outputChannel != null) outputChannel.close();
        }
        return newFile.getAbsolutePath();
    }
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / видео приложение не может видео играть файл, хотя расшарить его получается
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]