2010-11-08 67 views
5

我在創建一個基本的視頻捕捉功能在我的應用程序中有一頭豬。我想調用默認的視頻捕捉工具我的設備,並將文件保存到特定的位置。視頻捕捉忽略EXTRA_OUTPUT困境

從這個由EXTRA_OUTPUT提供了一個開放的實現文檔,但是發生的事情是,這是完全被忽略和視頻實際上是被寫入到平時的媒體存儲位置。

我的代碼是非常簡單的:

 Intent i = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE); 
     String SD_CARD_TEMP = Environment.getExternalStorageDirectory() 
     + File.separator + MEDIA_TEMP ;  
     i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.parse(SD_CARD_TEMP));  
     startActivityForResult(i, ACTIVITY_CAPTURE_VIDEO); 

常數MEDIA_TEMP設置爲 'media_temp'。我也嘗試使用文件而不是字符串,並使用Uri.fromFile(),但沒有任何區別。

如果任何人有任何想法,爲什麼這個代碼不作爲行爲的文檔說要把它..請告訴我:-)

PS。發展正在對HTC的Desire HD進行實彈,而不是仿真器..

感謝,

戴夫

+0

它與我的HTC慾望HD(操作系統2.2)上的代碼一起工作。所以可能是在這個OS版本或其他東西中修復的。我知道這是一箇舊的帖子,但只是不想要任何人編碼反對HTC慾望高清放棄嘗試 – dds 2011-05-02 23:32:52

回答

3

我有同樣的問題。它適用於Android的股票,但不適用於HTC或SonyEricsson設備。

好像他們的cam-app的行爲與默認設置不同。

我認爲唯一的可能性是詢問媒體提供商最新的錄製視頻並從中獲取路徑。然後將文件複製到您自己的目錄並從媒體提供商中刪除它。

不是很聰明和容易出錯,但也許是唯一的方法。

有人有更好的主意嗎?

+0

有趣的想法......這可能是一個很好的安全解決方案 – Dave 2011-03-01 11:05:09

+0

這個想法的工作? 如何獲取最後錄製的視頻? – ghostCoder 2012-01-30 15:25:06

1

我做在Nexus One類似的東西和它的作品,但相同的代碼無法正常工作在htc詠歎調。所以它可能與在不同設備上實際運行的活動以及它們是否尊重該參數有關。

6

花費13小時試圖弄清楚發生了什麼事情與此相機API後...

我用相機意圖和EXTRA_OUTPUT到指定保存的文件,並且它被忽略!

這個應用程序的工作在幾個星期以前,並已發生在這段時間沒有操作系統升級..

我可能已經找到了問題的根源:

如果安裝在任何應用與相互作用的手機,或截取相機API,一些API可能會破壞!

我13小時的馬拉松式的調試後發現這一點,嘗試所有可能的API組合,並按照計算器上所有的建議..

我的手都拿到厭倦了拿着手機,所以我建了一個手機中脫穎而出一件衣架掛在桌子上,鏡頭指着一罐花生醬。

幸運的是,當我用花生醬的照片調試時,Google Goggles應用程序彈出一條通知,表示它已在我的圖像中「識別出」 !

這促使我立即卸載谷歌護目鏡,並突然,圖像開始保存到我的自定義Uri像他們過去!

這是在三星平流層。

+1

+1爲您帶來的旅程。我感覺就像坐在你旁邊拍攝一罐花生醬的無盡照片。 – 2014-03-15 18:16:09