Android:如何獲取您的應用程式私有的檔案的視訊縮圖?
題:
如何獲取應用程式私有檔案的視訊縮圖?
具體來說,有沒有辦法直接從.mpeg檔案中提取視訊幀?
背景:
>我的應用程式包括可以錄製視訊的相機.
>由於產品原因,視訊檔案最初是以私人模式在應用程式的私有資料目錄中建立和編寫的,使其對應用程式是私有的.這是使用:ofollow,noindex" target="_blank">
Context#openFileOutput(fileName, Context.MODE_PRIVATE)
– 典型的檔案路徑如下所示:/data/data/[package.name]/files/[fileName].mp4–FYI我已經嘗試使用Context.MODE_WORLD_READABLE而不是Context.MODE_PRIVATE但它沒有幫助
>即使視訊可能最終在外部儲存器中(通過將檔案移動到
Environment#getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)
)
,必須在視訊處於應用程式 – 專用儲存器中時顯示縮圖.
>在檔案移動到公共目錄(無論將其新增到MediaStore)之後,似乎
ThumbnailUtils.createVideoThumbnail(String, int)
適用於檔案,但是當檔案位於內部儲存器中時,它會預設失敗(返回null).
>注意:只要視訊檔案在應用程式專用儲存中,它不會新增到MediaStore(裝置上的影象/影象內容提供商的影象供稿).只有一次視訊被移動到外部儲存,我將它新增到MediaStore.這是一個與產品相關的決定,我不能環遊除非有一種方法來新增視訊媒體商店,而不會對其他應用程式可見…我不知道應用程式 – 私有儲存中的視訊是否可以新增到媒體商店,並將保持應用程式私有性,但獲得所有免費的“服務“由媒體商店提供,如縮圖生成.
大多數媒體API只是在自己的程序中執行的媒體伺服器的繫結客戶端.您可能嘗試將該檔案暫時公開.
http://stackoverflow.com/questions/8595956/android-how-to-get-a-video-thumbnail-of-a-file-thats-private-to-your-applicati