Как настроить системное мультимедийное приложение в Android

Как настроить системное мультимедийное приложение?

Потому что я хочу воспроизвести видео в своем приложении с помощью системного мультимедийного приложения.

Я пробую следующий код, но не успешно.

    url = "http://www.ooklnet.com/files/381/381489/video.mp4";
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    intent.addCategory(Intent.CATEGORY_APP_MUSIC);
    startActivity(intent);

Но когда я пытаюсь использовать следующий код, он работает успешно,

    url = "http://www.ooklnet.com/files/381/381489/video.mp4";
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(intent);

Однако мне нужно открыть два шага:

  • Первый шаг — показать диалоговое окно (Android System & Browser) для выбора.

  • Второй шаг: когда я выбираю Android System, он показывает, что приложения могут воспроизводить это видео.

Я хочу нажать кнопку "Воспроизвести", она запустится с помощью системного мультимедийного приложения,

Пожалуйста, скажите мне, как,

ОБНОВЛЕНИЕ после получения ответа от CommonWare:

Я могу использовать следующий код для точного указания системного мультимедийного приложения.

// String type = "audio/mpeg4-generic"; // It works for only Mobo Player
String type = "video/mp4"; // It works for all video application

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(Uri.parse(url), type);
startActivity(intent);

На моем устройстве существует третье мультимедийное приложение (Mobo Player, MX Player и Video). Видеоприложение является системным мультимедийным приложением, поэтому мы не можем удалить его в >Настройки.

p/s: я использую Android версии 2.2.1,

Спасибо,


person Huy Tower    schedule 27.10.2013    source источник
comment
в чем ошибка, пожалуйста, зарегистрируйтесь?   -  person Ashish Kasma    schedule 27.10.2013
comment
Вызвано: android.content.ActivityNotFoundException: не найдена активность для обработки Intent {act=android.intent.action.VIEW cat=[android.intent.category.LAUNCHER,android.intent.category.APP_MUSIC] dat=ooklnet.com/files/381/381489/video.mp4 }   -  person Huy Tower    schedule 28.10.2013


Ответы (1)


Я пробую следующий код, но не успешно.

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

Первый шаг — показать диалоговое окно (Android System & Browser) для выбора.

Пользователь может отображать это видео в любом приложении.

Второй шаг: когда я выбираю Android System, он показывает, что приложения могут воспроизводить это видео.

Предположительно, это происходит через некоторое время после того, как URL-адрес был загружен или что-то в этом роде. Вы можете попробовать использовать setDataAndType(), указав правильный тип MIME, чтобы немного упростить это.

Я хочу нажать кнопку «Воспроизвести», она запустится с помощью системного мультимедийного приложения,

Нет никакого "системного мультимедийного приложения". На устройстве может быть ноль, одно или несколько приложений, способных воспроизводить видео с URL-адреса. Эти приложения могут быть предварительно установлены или установлены пользователем. Когда вы запрашиваете воспроизведение видео с помощью ACTION_VIEW, ОС и пользователь решают, какое приложение будет воспроизводить видео.

person CommonsWare    schedule 27.10.2013
comment
Действительно, спасибо за ваш хороший ответ, я полностью вас понимаю и обновил вопрос. Но у меня возникла другая проблема. Подскажите, пожалуйста - person Huy Tower; 28.10.2013