2012-04-22 2 views
0

У меня есть массив раз, который соответствует событиям в записанном видео. Эти времена раздувают список. Когда выбрана запись списка, я хочу, чтобы видео было открыто до выбранного времени.Как открыть видео для определенной точки видео?

В настоящий момент следующий код открывает видеоролик только в начале видео.

   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

ответ

0

Возможно, вы можете использовать seekTo() у объекта MediaPlayer?

Я не проверял это, и вы должны будете добавить в обработку исключений, но вы могли бы пойти на что-то вдоль этих линий:

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

Я бы рекомендовал использовать класс MediaPlayer в собственном коде. То, как вы это сделали, будет использовать проигрыватель по умолчанию для типа носителя или одного из выбранных пользователем. Даже если вы могли бы понять, как сделать этот конкретный медиаплеер начальным с определенной позиции, у вас нет шансов заставить его работать с широким кругом используемых игроков, в том числе с некоторыми устройствами, в которых по умолчанию Android были заменены вариантами OEM ,

Создайте свою собственную деятельность с помощью MediaPlayer и используйте seekTo(), чтобы начать с нужной позиции. В Интернете есть множество примеров.

Cheers

Смежные вопросы