我创建其录制视频并上传到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?"));
Answer 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不作为文件。
Answer 2:
我没有足够的信誉发表评论,但我失去了一个小时左右试图让user2126788的代码工作,因为我忘了设定的意图类型。
sharingIntent.setType("video/*");
Answer 3:
请加在Android清单这一行
<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>
Answer 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:"));
Answer 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()方法,点蚀和得到的结果。
Answer 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?"));
Answer 7:
另外一个很好的解决方案是实现自己的上传机制而无需离开应用程序。 您可以使用与YouTube Java库谷歌的Java和Android库。
下面是利用这一完整的应用程序: https://github.com/youtube/yt-direct-lite-android
文章来源: How to upload video to youtube in android?