Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Android] [MX Player] Как поочередно запустить видео файлы?


Dozent

Вопрос

Здравствуйте!

Прошу помочь с небольшим затруднением.
Есть:

  • Список воспроизведения файлов, видео файлы запускаются на андройд устройстве, через MX Плеер.
  • Логика воспроизведения файлов... (не подряд, например 1, 3, 4, 3, 1)

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

  • Возможно ли определить продолжительность видео файла?
  • Не уверен что Таймер в делфи ровно отсчитает время до следующего запуска, а если неверно, то несколько секунд видео может быть потеряно, а этого допускать никак нельзя!

Либо если это кончено возможно отслеживать закрытие МХ плеера, что будет свидетельствовать о завершении видео, но тут придётся в милисекундах спамить таймером на проверку рабочего процесса плеера, что тоже не айс и вообще можно ли это?

 

Либо как-то передать МХ плееру плейлист) Но как?) Возможно ли это?  :)

Прошу выскажите свои мнения...

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Как определить продолжительность видео файла через Актив Менеджер или как-нить по другому?

Update:

Тут нашёл: https://sites.google.com/site/mxvpen/api

duration Added in 1.7.23

Type: int

Value: Duration of last played video in milliseconds. This extra will not exist if playback is completed.

пробую вот так

  procedure VideoDuration;
  begin
    // Intent := TJIntent.JavaClass.init(StringToJString('com.mxtech.videoplayer.ad'));
    // Intent.setPackage(StringToJString('com.mxtech.intent.result.VIEW'));
    Intent.setPackage(StringToJString('com.mxtech.videoplayer.ad.ActivityScreen'));
    iDuration := -1;
    // iDuration := integer(Intent.putExtra(StringToJString('duration'), 0));
    Intent.putExtra(StringToJString('duration'), iDuration);
    // Button2Click(Self);
    Label2.Text := IntToStr(iDuration);
    // extras.getString("paramName");
  end;

и пока чото ни чо не получается) Мб кто может что подсказать?

Ссылка на комментарий
  • 0
  • Администраторы

На сколько я могу судить по API MX проигрывателя, я вижу, что он умеет:

  1. Проигрывать заранее составленный список файлов.
  2. Уведомлять о завершении просмотра файла:

You CAN;

  1. Play single or multiple videos.
  2. Provide subtitles to be drawn together.
  3. Select decoder and simple options such as video zoom, etc.
  4. Receive playback result including whether it is completed or not, last playback position, etc.

Значит,

  1. Вы можете из своего приложения узнать точно, когда файл будет полностью проигран и запустить на проигрывание новый файл.
  2. Проиграть заранее подготовленный ваш список файлов. В этом случае не нужно будет вообще мудрить.

Как получить результат запроса на длительность файла

Общий принцип работы интентов (намерений) в андроиде следующий:

  1. Вы формируете свой запрос на любое действие, согласно апи.
  2. Отправляете свой запрос в операционную систему 
  3. Получаете результат выполнения интента через onActivityResult

Чтобы получить в Delphi ответ на ваш запрос, нужно прочитать эту тему: "Как в вызываемом приложении получить результат, объект JIntent?"

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...