プログラミング

Android App: How to share video in external storage to MediaStore?

投稿日:2023年10月24日 更新日:

Code

Android Studio Electric Eel | 2022.1.1 Patch 2
[Java]

String path = xxx; //path of the video in the App’s external storage
String fname = xxx; // file name of the video

ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DISPLAY_NAME, fname);
values.put(MediaStore.Images.Media.MIME_TYPE, “video/avc”);
values.put(MediaStore.Images.Media.IS_PENDING, 1);

ContentResolver resolver = getApplicationContext().getContentResolver();
Uri collection = MediaStore.Video.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY);
Uri item = resolver.insert(collection, values);

InputStream in = new FileInputStream( path );

try (OutputStream out = getContentResolver().openOutputStream(item)) {
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
in.close();
in = null;
out.flush();
out.close();
}catch(Exception e) {

}

Note

InputStream in = getContentResolver().openInputStream( Uri.parse(path) )
// returns error: “No content provider”

-プログラミング

執筆者:

関連記事

Node.jsゲーム公開はHerokuが良い – 初めてのゲーム開発からデプロイまでの記録

ゲーム開発初心者が簡単なNode.jsオンラインゲームを作成して公開したい場合はHerokuで公開するのが良いです。Node.jsゲームの公開手段は様々ありますが、Herokuは無料プランで十分にテス …

Python pyworld インストールできない時の対処法

Windows10でpyworldをインストールしようとしたら、途中で止まってしまった。なんかWarningがでてました。 WARNING: Ignoring invalid distribution …

240Hzゲーミングモニターの勧め – 目に優しい?閃輝暗点の予防策

オンラインPCゲームにはまってしまい、ついには高価な240Hzゲーミングモニターを購入してしまいました。機種名は「Acer ゲーミングディスプレイ Nitro VG252QXbmiipx 24.5型ワ …

Double (Multiple) pendulum simulation by Javascript

Source Code mPendulum.html <!DOCTYPE html> <html lang="en"> <head> <m …

Node.jsからGo-langへ移行

ストレスなく思いっきり遊べるゲームを実現したくなりました。現行のNode.jsでは処理性能が限界。PaaSが対応しているものの中で高速化が望めるものがGo言語しかない。全くもって無知だがやるしかない。 …

スポンサーリンク