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

Иван Р

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

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

  • Посещение

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

  1. 21 час назад, Евгений Корепов сказал:

    С помощью стандартного (тот что в палитре компонентов Delphi) это сделать затруднительно. Вам нужно написать свои реализации классов TMedia и TCustomMediaCodec. Это долгий и муторный путь. Но можно забыть про куцую оболочку Эмбаркадеро под названием TMediaPlayer, и все становиться гораздо проще:

    
    unit Unit1;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
      Androidapi.JNI.Media, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText,
      FMX.Controls.Presentation, FMX.StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        FPlayer : JMediaPlayer;
      public
        { Public declarations }
    
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.fmx}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      FPlayer:=TJMediaPlayer.Create;
      FPlayer.setDataSource(StringToJString('http://cdndl.zaycev.net/228184/8640962/lana_del_rey_-_hope_is_a_dangerous_thing_for_a_woman_like_me_to_have_but_i_have_it_%28zaycev.net%29.mp3'));
      FPlayer.prepare;
      FPlayer.Start();
    end;
    
    end.

     

    Спасибо вам за ответы, но с потоком я так и не разобрался.

    Вот прикрепляю проект, в котором воспроизведения радио (а в данном случае просто mp3) в потоке.

    На win все работает а на Андроиде нет.

    https://yadi.sk/d/-o60o4z6hC_DqA

    Прикрепить не получилось, загрузил в диск

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

    procedure TForm2.Button1Click(Sender: TObject);
    begin
      TTask.Run(
        procedure
        begin
          TThread.Synchronize(TThread.CurrentThread,
            procedure
            begin
              MediaPlayer1.FileName :=
                'http://cdndl.zaycev.net/228184/8640962/lana_del_rey_-_hope_is_a_dangerous_thing_for_a_woman_like_me_to_have_but_i_have_it_%28zaycev.net%29.mp3?ext.page=default';
              MediaPlayer1.Play;
            end);
        end);
    end;
    
    end.

     

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