В исходном коде Delphi я вижу Exemple эту процедуру:этот код нужно запускать в потоке пользовательского интерфейса Android?
procedure TAndroidVideo.RetreiveVideoSize;
var
MediaPlayer: JMediaPlayer;
begin
MediaPlayer := TJMediaPlayer.JavaClass.init;
MediaPlayer.setDataSource(StringToJString(FileName));
MediaPlayer.prepare;
FVideoSize := TSize.Create(MediaPlayer.getVideoWidth, MediaPlayer.getVideoHeight);
MediaPlayer := nil;
end;
, которые могут быть запущены из основного потока. но я думаю, что это ошибка, и эта процедура должна выполняться из потока пользовательского интерфейса Android. или я что-то пропустил?
В андроиде основной поток такой же, как и нить ui – akash93
@ akash93 на самом деле, это не всегда одна и та же тема, и это иногда вызывает проблемы. Embarcadero планирует рассмотреть это в будущей версии Delphi. –
@RemyLebeau Я не знаю, хорошо ли это обращаться с futur-версией delphi, потому что теперь их много кода, который зависит от этого «неправильного» поведения. если они это сделают, я надеюсь, что они будут очень проверять его до выпуска ... – loki