Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将视频打开到视频中的特定点?_Java_Android_Video - Fatal编程技术网

Java 如何将视频打开到视频中的特定点?

Java 如何将视频打开到视频中的特定点?,java,android,video,Java,Android,Video,我有一个时间数组,对应于录制的视频中的事件。这些时间使清单膨胀。当选择列表项时,我希望视频按所选时间打开 现在,以下代码仅在视频开头打开视频 Uri video = Uri.parse(Environment.getExternalStorageDirectory()+"/recordedMedia/" +eventName+ ".mp4"); Intent intent = new Intent(Intent.ACTION_VIE

我有一个时间数组,对应于录制的视频中的事件。这些时间使清单膨胀。当选择列表项时,我希望视频按所选时间打开

现在,以下代码仅在视频开头打开视频

                Uri video = Uri.parse(Environment.getExternalStorageDirectory()+"/recordedMedia/" +eventName+ ".mp4");
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                intent.setDataAndType(video, "video/*");
                startActivity(intent);
理想情况下,直接在指定的时间进行是最好的,尽管从一开始就开始,然后跳到指定的时间,如果速度相当快的话,也会起作用。
我正在使用Android 2.2、API 8,也许您可以使用
MediaPlayer
对象中的
seekTo()
方法

我尚未对此进行测试,您需要添加异常处理,但您可以按照以下思路进行操作:

    MediaPlayer mp = new MediaPlayer();
    mp.setDataSource(Environment.getExternalStorageDirectory()+"/recordedMedia/" +eventName+ ".mp4");
    mp.prepare();
    mp.seekTo(/*a time*/);

我建议您在自己的代码中使用MediaPlayer类。您这样做的方式将为媒体类型或用户选择的媒体类型使用默认播放器。即使你能想出如何让特定的媒体播放器从某个位置开始,你也没有机会让它与使用中的各种播放器一起工作,包括一些Android默认设置已被OEM替代的设备

使用MediaPlayer创建自己的活动,并使用seekTo()从所需位置开始。网上有很多例子

干杯