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

Dozent

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

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

  • Посещение

  • Победитель дней

    2

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

  1. Переделал код из темы

    http://fire-monkey.ru/topic/330-tmediaplayer-ne-zapuskaet-video-v-nekotorykh-versiiakh-andro/page-2

    uses
    ActivityManager, Androidapi.JNI.JavaTypes, Androidapi.Helpers, Androidapi.JNI.Net,
      Androidapi.JNI.GraphicsContentViewText;
    
    
    procedure TForm1.Button3Click(Sender: TObject);
    var
      PackageName: Jstring;
      ActiveManager: JActivityManager;
      sFile, exe: string;
      Intent: JIntent;
      Data: Jnet_Uri;
    begin
      try
        sFile := '/sdcard/publicity/video_8.mp4';
        // MX player: https://sites.google.com/site/mxvpen/api
        PackageName := StringToJString('com.mxtech.videoplayer.ad');
        ActiveManager := GetActivityManager();
        ActiveManager.killBackgroundProcesses(PackageName);
        exe := Tpath.GetExtension(sFile);
        ListView1.Items.Add.Text := 'exe:   ' + exe;
        Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW);
        Data := StrToJURI(sFile);
        ListView1.Items.Add.Text := 'data:   ' + JURIToStr(Data);
        Intent.setDataAndType(Data, StringToJString(PWideChar('video/') + exe));
        Intent.setPackage(PackageName);
        Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP and TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK and
          TJIntent.JavaClass.FLAG_ACTIVITY_NO_HISTORY);
        SharedActivity().startActivity(Intent);
      finally
      end;
    end;
    

     

    А как вы отслеживаете что файл закончился играться?

  2. не понятный компонент, после установки вылезло куча ошибок, бороться с ними времени нет, не советую, хотя если комуто интересно или кто то победит отпишите плз)

    Переписка с техподом:

    1:Hello. Install the trial version of the component "Android Native Player For Delphi & C ++ Builder Component 1.10". I can not understand how to use it? Delphi XE7. Where can I find a demo of using component?

    2:Open the example D3Player.dproj under Trial version install

    root\Examples\XE7 folder. Then run it , and make sure you have put
    some video on your phone rom such as /sdcard/Movies/test.mp4, then
    input the file name in the edit and click the play button to play it.

  3. Я так понимаю вы нашли для себя решения через MX плеер? Что - то мне не хочется зависить от старонего приложения, мб вы нашли решение через стандартные приложения? Ведь в андройде вроде есть какойто стандартный плеер?

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

     

    RoverPad 3w7, Android 4.0.3

     

    Запускаю видео, звук есть, картинки нет...

    воспроизвожу так

    procedure TForm1.Button2Click(Sender: TObject);
    var
      s: string;
    begin
      // s := '/sdcard/publicity/1.mp3';
      s := '/sdcard/publicity/video_8.mp4';
      if FileExists(s) then
      begin
         ListView1.Items.Add.Text := s;
        MediaPlayer1.FileName := s; // '/sdcard/publicity/video_8.mp4';
        MediaPlayer1.Play;
      end
      else
        ListView1.Items.Add.Text := 'File not Found';
    
    end;
    

    Эта проблема как-то решается? И с чем это связано?

    Думал проблема в кодеках... Установился VPlayer и VPlayer COdec Arm7. 

    Видео через другие плееры воспроизводятся...

    Но картинка так и не появилась...

     

    Прошу подскажите как с этим бороться? Спасибо

  5. не та значит нета:) Есть экранная клавиатура, а есть сенсорная и ехе файлы разные для этих приложений...

     

     Ваш код - это просто перевод информации ссылки на хабре с С++ на делфи.

     

    а я и неговорю что придумал это сам... за ссылку спасибо

  6. Вообщем реализация такая

    //добавляем в uses
    ShellApi, Winapi.Windows, Winapi.messages;
    
    // вызов сенсорной клавиатуры
    function ExpandEnvironmentVar(var Value: string): Boolean;
    var
      R: Integer;
      Expanded: string;
      procedure StrResetLength(var S: string);
      var
        I: Integer;
      begin
        for I := 0 to Length(S) - 1 do
          if S[I + 1] = #0 then
          begin
            SetLength(S, I);
            Exit;
          end;
      end;
    
    begin
      SetLength(Expanded, 1);
      R := ExpandEnvironmentStrings(PChar(Value), PChar(Expanded), 0);
      SetLength(Expanded, R);
      Result := ExpandEnvironmentStrings(PChar(Value), PChar(Expanded), R) <> 0;
      if Result then
      begin
        StrResetLength(Expanded);
        Value := Expanded;
      end;
    end;
    
    procedure TForm1.Edit2Click(Sender: TObject);
    var
      S: string;
    begin
      S := '%CommonProgramW6432%\microsoft shared\ink\tabtip.exe';
      if ExpandEnvironmentVar(S) then
        Caption := S
      else
        Caption := S; { :-) }
      ShellExecute(0, PChar('open'), PChar(Caption), nil, nil, SW_SHOWNORMAL);
    end;
    
    //закрытие
    procedure TForm1.Button1Click(Sender: TObject);
    var
      MyHandle1: THandle;
    begin
      MyHandle1 := FindWindow('IPTip_Main_Window', nil);
    
      if MyHandle1 <> 0 then
      begin
        PostMessage(MyHandle1, WM_SYSCOMMAND, SC_CLOSE, 0);
        Label2.Text := IntToStr(MyHandle1);
      end;
    
    end;
    
  7. Была такая же проблема. Решил проблему. Нужно запустить Android SDK Tools и установить пакеты которые он предлагает (Google USB Driver и т.п.). Изначально мне предложил установить 4 пакета потом сказал перезапусти меня. Потом ещё 20 пекетов. И всё заработало...

  8. День добрый! 

     

    Ситуация такая: при удалении итема выбранным должен стать первый в списке итем

    lvDrugList.ItemIndex := 0;

    Да действительно от подсвечивается, но событие onChange не срабатывает.

    Подскажите что нужно сделать?

  9. День добрый!

    Такая проблемка, нашёл в инете как перелистывать красиво закладки табконтрола.

    Есть TActionList в нём создаём 2 события из разряда стандартных, указываем на какую будет перелистываться, тут всё отлично.

    Проблема возникает когда я указываю у кнопки в Action, ChangeTabAction1 (стиль кнопки documentbuttontext).

    И тут надпись у кнопки меняется, как мне оставить нужную мне надпись в кнопки, но и чтобы срабатывало события из акшинлиста?

    Текст кнопки в дизайнере поменять можно но в рантайме он сново станет Go to <Имя закладки>

    post-417-0-19496400-1413891655.png

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