Delphi 10.2 FireMonkey 下,TMediaPlayer 目前支持 Windows, iOS, Android 好像还支持 MAC OS。
在 iOS 底下表现正常。
在 Android 下面,界面上放一个 Button,在 OnClick 里面执行以下代码:
MediaPlayer1.FileName := 'MyVideo.mp4';
MediaPlayer1.Play;
点击按钮,执行上述代码,第一次正常,视频画面出来了。再次点击按钮,没有视频出来。这时候查 MediaPlayer.State,是 Stop 状态而不是 Playing 状态。加多一个按钮,再次单独执行一次 MediaPlayer1.Play; 视频开始播放。
浪费了4个小时,反复修改代码,反复追踪 MediaPlayer 在 Android 里面的代码执行过程,发现前后两次,执行到的代码是相同的,不知道为何没有把安卓的 MediaPlayer 启动起来。
不确定问题是不是手机的安卓版本导致?测试手机安卓版本:Android 5.0
不确定问题是不是 Android SDK 导致。SDK 版本:24.0.2;
如果用户选择了文件以后,还有再点一次播放,体验不好。用户选择文件后,想直接播放,这里绕过的办法是加多一个 Timer,执行完 MediaPlayer1.FileName := 'MyVideo.mp4'; 以后,启动 Timer,然后在 Timer1.OnTimer 事件方法里面,加上 MediaPlayer1.Play; 这个方法测试通过。

在Delphi10.2 FireMonkey环境下使用TMediaPlayer组件时,在Android设备上出现了视频播放异常的问题。首次点击播放按钮时视频能正常显示,但再次点击时视频无法播放,即使MediaPlayer的状态显示为停止状态。通过添加定时器并在定时器事件中调用Play方法解决了该问题。
796

被折叠的 条评论
为什么被折叠?



