2016-10-12 6 views
3

私のアプリでは、カスタムカメラを使ってビデオを録画しています。私は記録を行い、SDカードからのビデオのパスを以下のように得ることができます:/storage/emulated/0/DCIM/Camera/20141219_133139.mp4content//media/external/video/media/18576ビデオパスをビデオに変更するにはUri

は私が私がURIへのパスを変換する方法を教えてください:

は今、私は以下のようにURIにパスを必要とするビデオをuplaodするのではなく、ユーチューブに動画をアップロードします。 ありがとうございました。

+0

は再び自分自身の質問を読んで、あなたはあなたが何を意味するかを理解することができるかどうか、あなたの質問を編集し、 –

+0

@AnkitMiglaniは、あなたがしたいです何をしたいことを明確にしてみてくださいそれをプログラム的に変更する??または手動で?? – PN10

+0

または録画したビデオのパスを変更したいですか?または変更して、録画したすべてのビデオのために外部メディアに保存してください。あなたが望むものを明確にしてください...あなたの質問に応じて変更してください... – PN10

答えて

0
content://media/external/video/media/18576 

は、ビデオのメディアデータベース内のIDが18576であることを示します。 idのメディアデータベースを照会する必要があります。擬似コード:

select id from 'content//media/external/video/media' 
    where data = '/storage/emulated/0/DCIM/Camera/20141219_133139.mp4' 

あなたは、メディア・データベース

// getIdForFile("/storage/emulated/0/DCIM/Camera/20141219_133139.mp4") 
public long getIdForFile(String filePath) { 
    Cursor c = null; 
    try { 
     c = this.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, 
       new String[]{MediaStore.Video.Media._ID}, 
       MediaStore.Video.Media.DATA + " = ?", 
       new String[]{filePath}, 
       null    // Default sort order 
     ); 
     if (c.moveToNext()) { 
      return c.getInt(0); // MediaStore.Video.Media._ID 
     } 
    } catch (Exception ex) { 
     Log.e(Global.LOG_CONTEXT, ".... some error message ....", ex); 
    } finally { 
     if (c != null) c.close(); 
    } 
    return null; 
} 
0

その作業を照会する必要があります!

long vidid = getIdForFile(mediaFile.getAbsolutePath()); 
Log.d("VIDID" , " "+vidid); 
String urivid = "content://media/external/video/media/"+vidid; 
Uri vid = Uri.parse(urivid); // it's right uri for videofile 

私の機能getIdForFile

public long getIdForFile(String filePath) { 
    Cursor c = null; 
    try { 
     c = this.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, 
       new String[]{MediaStore.Video.Media._ID}, 
       MediaStore.Video.Media.DATA + " = ?", 
       new String[]{filePath}, 
       null    // Default sort order 
     ); 
     if (c.moveToNext()) { 
      return c.getInt(0); // MediaStore.Video.Media._ID 
     } 
    } catch (Exception ex) { 
     Log.e("VIDURI", ".... some error message ....", ex); 
    } finally { 
     if (c != null) c.close(); 
    } 
    return 0; 
} 
関連する問題