Android VideoView,持续时间为-1

时间:2017-04-24 15:24:29

标签: android android-videoview

我自己创建一个VideoView的控制器(我知道使用Controller更容易,但它是学校的家庭作业),因此应用程序外观如下({{1使用VideoView和3 SeekBar

Buttons方法中,我编写了此代码

onCreate

VideoView vwVideo = (VideoView) findViewById(R.id.videoView); vwVideo.setVideoPath("android.resource://" + getPackageName() + "/" + R.raw.baby); SeekBar skbPosition = (SeekBar) findViewById(R.id.seekBarVideo); skbPosition.setMax(vwVideo.getDuration()); 返回-1,可能是因为视频尚未加载(* .mp4,4.47 MB​​,00:01:44),所以我决定设置{{的最大值1}}单击“播放”按钮但我不知道这是否是解决问题的最佳方法。

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

如果您想获得视频的持续时间,可以使用MediaMetadataRetriever执行此操作。

MediaMetadataRetriever retriever = new MediaMetadataRetriever();
//use setDataSource() functions to set your data source
retriever.setDataSource(context, Uri.fromFile(videoFile));
String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
long timeInMillisec = Long.parseLong(time);

如果有任何问题,请更新我。