MediaPlayer Android 下播放 MP4 的问题

开发环境:Delphi 10.3.1 社区版。

测试环境:

A. Android 5.0;

B. Android 9.0

1. 进度条

Delphi 官方带的例子里面,关于进度条的代码:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if ProgressBar1.Max <> MediaPlayer1.Duration then
    ProgressBar1.Max := MediaPlayer1.Duration;
  if ProgressBar1.Value <> MediaPlayer1.CurrentTime then
    ProgressBar1.Value := MediaPlayer1.CurrentTime;
end;

在 Android 5.0 底下,进度显示正常。

在 Android 9.0 底下,进度条不显示进度。设置断点查看,每一次,MediaPlayer1.Duration 都返回 -1。

2. 播放显示:

2.1. 在 Android 5.0 底下,不放 MediaPlayerControl1,不显示视频,播放正常,有视频的声音在播放。如果用了 MediaPlayerControl1,则播放就会出现异常:Project testMediaPlayer.apk raised exception class EJNIException with message 'java.io.IOException: Prepare failed.: status=0x80000000'.

扫描二维码关注公众号,回复: 9918430 查看本文章

2.2. 在 Android 9.0 底下,播放显示正常。

结论:安卓下播放 MP4 视频,还是调用系统提供的视频播放器程序比较好,用 MediaPlayer 还有问题。

发布了116 篇原创文章 · 获赞 19 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/pcplayer/article/details/99459049