如何设置视频的持续时间 - android

How to set duration to a video - android

我正在尝试在图库中保存一个 10 秒长的 mp4 文件(目的是将视频上传到 facebook)。 日志对我说文件持续时间是 10 秒长 - 他应该是这样,但是当我尝试将它上传到 Facebook(手动)时,视频似乎是 0 秒长,我无法上传。 (如果我在 phone 上观看视频 - 它正常工作,就在我尝试将它上传到 FB 时它发生了)

private void addVideoGallery( File file ) {
    ContentValues values = new ContentValues();
    values.put(MediaStore.Video.VideoColumns.DURATION,10000);
    values.put(MediaStore.Video.Media.DATA, file.getAbsolutePath());
    values.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
    Log.d("dur",""+values.getAsLong(MediaStore.Video.VideoColumns.DURATION));
    getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values);
}

我只想知道我是否正确设置了持续时间(实际持续时间固定为 10 秒),或者我应该 change/update 什么?

我找到了解决方案,我只是像这样使用 MediaScanner:

    Intent intent =
      new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);

更多信息:http://www.grokkingandroid.com/adding-files-to-androids-media-library-using-the-mediascanner/