【发布时间】:2017-02-05 19:53:45
【问题描述】:
在 delphi 源代码中我看到了这个过程的例子:
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 线程运行吗?还是我错过了什么?
【问题讨论】:
-
在android中主线程和ui线程是一样的
-
@akash93 实际上,它并不总是同一个线程,这有时会导致问题。 Embarcadero 计划在未来的 Delphi 版本中解决这个问题。
-
@RemyLebeau 我不知道在未来版本的 delphi 中解决这个问题是否好,因为现在他们有很多代码依赖于这种“错误”行为。如果他们这样做,我希望他们会在发布之前对其进行高度测试......
-
是不是字面上的“procedure TAndroidVideo.RetreiveVideoSize”,因为它包含一个错字,这将是非常可悲的。
-
@penarthur66 ...啊是的,你是对的,它包含一个错字:(
标签: android delphi firemonkey