我正在開發一個應用程序,將sdcard中的視頻上傳到youtube,然後返回youtube視頻網址。但是,我一直無法成功地做到這一點。Android視頻上傳到Youtube
我試圖與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 ----
- 與differente電話試圖後,我發現了YouTube不會顯示爲選擇上傳的視頻是我手機的問題(可能是由於ROM)。 但是,即使它使用intent工作也不行,因爲我無法獲取URL並且這很重要。
- 經過一番研究,似乎第二種方法是不可能的。 Youtube API for Java在Android中不起作用。
這就是說,我正在尋找關於如何在Android上將視頻上傳到Youtube的建議。 我真正想要的是選擇一個視頻文件,將其上傳到Youtube並獲取YouTube網址。最好不受用戶的干擾,只選擇文件,然後上傳和URL檢索在「後臺」中運行。 有什麼建議嗎?什麼是最簡單和最快的方式來實現這一點?
謝謝。
感謝您的幫助,但我真的需要回URL,所以我猜意圖不會工作。 給用戶上傳應用程序的選擇不是必需的,我希望上傳過程在後臺運行。 – user977568