Подтвердить что ты не робот

Как загрузить видео на YouTube в Android?

Я создаю приложение, которое записывает видео и загружает его на YouTube и другие социальные сайты.

Для загрузки я использую функцию совместного использования Droid, и она работает хорошо.

В электронной почте загрузка Facebook, Skype и т.д. работает отлично, но когда я выбираю YouTube, он не загружает мое видео.

Вот код, который я использую для обмена видео.

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"SUBJECT_NAME");
sharingIntent.setType("video/*");
File newFile = new File(video_path);
sharingIntent.putExtra(android.content.Intent.EXTRA_STREAM,Uri.fromFile(newFile));
startActivity(Intent.createChooser(sharingIntent,"Where you want to share?"));
4b9b3361

Ответ 1

Попробуйте этот код.

ContentValues content = new ContentValues(4);
content.put(Video.VideoColumns.DATE_ADDED,
System.currentTimeMillis() / 1000);
content.put(Video.Media.MIME_TYPE, "video/mp4");
content.put(MediaStore.Video.Media.DATA, "video_path");
ContentResolver resolver = getBaseContext().getContentResolver();
Uri uri = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, content);

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Title");
sharingIntent.putExtra(android.content.Intent.EXTRA_STREAM,uri);
startActivity(Intent.createChooser(sharingIntent,"share:")); 

этот код добавляет в свой общий доступ метод onClick() и получает результат. передайте значение EXTRA_STREAM как URI не как файл.

Ответ 2

У меня недостаточно репутации для комментариев, но я потерял час или около того, пытаясь заставить работать код user2126788, потому что я забыл установить тип в намерении.

sharingIntent.setType("video/*");

Ответ 3

добавьте эту строку в манифест андроида

     <intent-filter>
     <action android:name="android.intent.action.SEND" />
     <category android:name="android.intent.category.DEFAULT" />              
     <data android:host="www.youtube.com" android:mimeType="text/*" /> 
     </intent-filter>

Ответ 4

После нескольких часов попыток выяснить, как заставить его работать для загрузки и совместного использования видео на facebook, youtube, instagram и whatsapp. это код, который работал у меня. Загрузка записанного видео из приложения в приложения для социальных сетей

ContentValues content = new ContentValues(4);
            content.put(Video.VideoColumns.DATE_ADDED,
            System.currentTimeMillis() / 1000);
            content.put(Video.Media.MIME_TYPE, "video/mp4");
            content.put(MediaStore.Video.Media.DATA, "your_path_to_video");
            ContentResolver resolver = getBaseContext().getContentResolver();
            Uri uri = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, content);

            Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
            sharingIntent.setType("video/*");
            sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Title");
            sharingIntent.putExtra(android.content.Intent.EXTRA_STREAM,uri);
            startActivity(Intent.createChooser(sharingIntent,"share:")); 

Ответ 5

Этот код работает для меня хорошо.

Я пытаюсь выполнить и получить лучший результат.

поэтому, если кто-то сталкивается с этим типом проблемы, попробуйте этот код.

Я уверен, что он также отлично подходит для вас.

ContentValues content = new ContentValues(4);
content.put(Video.VideoColumns.DATE_ADDED,
System.currentTimeMillis() / 1000);
content.put(Video.Media.MIME_TYPE, "video/mp4");
content.put(MediaStore.Video.Media.DATA, "path_of_video");
ContentResolver resolver = getBaseContext().getContentResolver();
Uri uri = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, content);

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Title_text");
//sharingIntent.setType("video/*");
//File newFile = new File(path_var);
sharingIntent.putExtra(android.content.Intent.EXTRA_STREAM,uri);
startActivity(Intent.createChooser(sharingIntent,"Where you want to share?")); 

этот код точечный в вашей общей кнопке onClick() метод и получить результат.

Ответ 6

Этот код работает для меня хорошо.

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Title_text");
//sharingIntent.setType("video/*");
File newFile = new File(path_var);
sharingIntent.putExtra(android.content.Intent.EXTRA_STREAM,uri);
startActivity(Intent.createChooser(sharingIntent,"Where you want to share?")); 

Ответ 7

Еще одно хорошее решение - реализовать свой собственный механизм загрузки, не покидая приложение. Вы можете использовать библиотеки Google Java и Android с java-библиотеками YouTube.

Здесь полное приложение, использующее это: https://github.com/youtube/yt-direct-lite-android