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

Skyline

Пользователи
  • Постов

    2
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Skyline

  1. Вопрос решён.
    Для воспроизведения/открытия/просмотра аудио/видео встроенными средствами написал такую функцию:

    void HiddenPlay(String FileName)
    {
        _di_JMediaPlayer Player = TJMediaPlayer::JavaClass->init();
        Player->setDataSource(StringToJString(FileName));
        Player->prepare();
        Player->start();
    }

    Для воспроизведения/открытия/просмотра любого файла установленными на устройстве программами такая функция:

    void PlayMulti(String FileName, String MimeType)
    {
        _di_JIntent Intent = TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW);
        _di_Jnet_Uri Data = StrToJURI(FileName);
        Intent->setDataAndType(Data, StringToJString(MimeType));
        SharedActivity()->startActivity(Intent);
    }

    Вторым аргументом надо передать mime-type файла.

    Пример вызова:

    PlayMulti("test.jpg", "image/jpeg");
  2. Возможно ли использование данных компонентов в C++ ?

    Создать объект JMediaPlayer невозможно, так как он абстрактный. Поэтому, создал указатель данного типа, затем создал объект TJMediaPlayer, обратился к его методу Create(), возвращающий объект типа JMediaPlayer.

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

    JMediaPlayer *Player;
    TJMediaPlayer *PlayerT = new TJMediaPlayer();
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
    {
        Player = PlayerT->Create();
        Player->setDataSource(StringToJString("URL_файла"));
    }
×
×
  • Создать...