我正在开发一个应用程序,它可以将sdcard中的视频上传到youtube,然后返回youtube视频url。然而,我未能成功地这样做。
我试过用ACTION_SEND:
public void onUploadClick(View v) {
Intent uploadIntent = new Intent(Intent.ACTION_SEND);
// In a real app, video would be captured from camera.
File f = new File("/sdcard/test.mov");
uploadIntent.setDataAndType(Uri.fromFile(f), "video/quicktime");
startActivity(Intent.createChooser(uploadIntent, "Upload"));
}
但是,奇怪的是,有了这个实现,我没有Youtube作为上传的选项。我有蓝牙,邮件,Dropbox,Facebook,Flickr,Gmail和Handcent。但不是Youtube。对此有什么想法吗?此外,是否可以用这个方法上传youtube视频的网址呢?多么?
我也尝试过使用Youtube API for Java,但同样没有成功。我添加了所需的所有库(gdata-client-1.0.jar,gdata-media-1.0.jar和gdata-youtube-2.0,jar)。然而,当我运行它时,尽管我有正确的库和导入,但我还是为com.google.gdata.client.youtube.YouTubeService,获得了一个NoClassDefFoundError。下面是我使用的代码:
YouTubeService service = new YouTubeService(clientID, developer_key);
VideoEntry newEntry = new VideoEntry();
YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup();
mg.setTitle(new MediaTitle());
mg.getTitle().setPlainTextContent("My Test Movie");
mg.addCategory(new MediaCategory(YouTubeNamespace.CATEGORY_SCHEME, "Autos"));
mg.setKeywords(new MediaKeywords());
mg.getKeywords().addKeyword("cars");
mg.getKeywords().addKeyword("funny");
mg.setDescription(new MediaDescription());
mg.getDescription().setPlainTextContent("My description");
mg.setPrivate(false);
mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "mydevtag"));
mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "anotherdevtag"));
newEntry.setGeoCoordinates(new GeoRssWhere(37.0,-122.0));
// alternatively, one could specify just a descriptive string
// newEntry.setLocation("Mountain View, CA");
MediaFileSource ms = new MediaFileSource(new File("file.mov"), "video/quicktime");
newEntry.setMediaSource(ms);
String uploadUrl =
"http://uploads.gdata.youtube.com/feeds/api/users/default/uploads";
VideoEntry createdEntry = service.insert(new URL(uploadUrl), newEntry);
总之,我的问题是:-我在这两种方法中都做错了什么?-关于我把视频上传到youtube并在youtube上链接的简单目标,你推荐哪种方法?即使上面两个都没有。
谢谢。
-更新04/10
在尝试使用不同的手机后,
。
话虽如此,我正在寻找关于如何在Android上上传视频到Youtube的建议。我真正想要的是选择一个视频文件,上传到Youtube并获得youtube的URL。最好没有任何干扰的用户,谁只选择文件,然后上传和URL检索运行“在后台”。有什么建议吗?实现这一目标的最简单和最快的方法是什么?
谢谢。
发布于 2012-05-15 23:22:25
您可以使用RESTful YouTube API并执行可恢复的上载。这里的代码示例:http://code.google.com/p/ytd-android/。还有,你试过ACTION_SHARE了吗?
发布于 2011-10-03 16:59:06
关于第一种方法:我尝试了3种不同的手机,所有不同的品牌和不同版本的安卓,这就是我点击共享并选择YouTube时每个人的行为方式:
cmp=com.google.android.apps.uploader/.clients.youtube.YouTubeSettingsActivity = act=android.intent.action.SEND /mp4 flg=0x3000000 flg=0x3000000
cmp=com.google.android.apps.uploader/.clients.youtube.YouTubeSettingsActivity = act=android.intent.action.SEND /3 3gpp flg=0x3000000 flg=0x3000000
act=android.intent.action.SEND_MULTIPLE typ=act=android.intent.action.SEND_MULTIPLE/*act=android.intent.action.SEND_MULTIPLE
看来你走上了正确的轨道。我会试着改变米制的。从视频开始/*也许只是为了看看它是否有效。
哦,顺便说一句,这看起来很诱人,但是如果有一天他们改变了它,直接使用YouTubeSettingsActivity可能是很危险的。
就我个人而言,我喜欢第一种方法,因为它与其他应用程序很好地集成在一起。就像你的用户想要使用YouTube以外的东西一样,他们可以选择他们想要的东西。不过,我不确定能否得到一个URL。
https://stackoverflow.com/questions/7641703
复制相似问题