Delphi MediaPlayer Android 的问题

MediaPlayer 播放在线音频卡死 近来项目中有播放音频的需求,于是想用MediaPlayer先写个Demo; 布局代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_par 阅读详情

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;  这个方法测试通过。

delphi fmx android下播放网络视频MP4的方法 后来想到用webbrowser播放,android12测试通过,windows 测试通过。我用mediaplay 不知道怎么播放网络mp4视频,难道下载下来播放嘛?今天群里有人说mediaplay 安卓下播放网络视频报错。注意事项:看我的另一篇博客。 阅读详情

相关推荐

Delphi视频播放器-无需控件 源码直译.rar

Delphi视频播放器-无需控件 源码直译,支持播放下列文件格式:CD/VCD/VCR,三维动画、立体电影、数字视频等格式,附带有简单的视频控制功能,界面也是相当的简洁,对于编写多媒体系统来说,极具参考性。

Delphi xe JMediaPlayer

求救 哪位可以编写Delphi xe10 播放远程mp4 或者会使用Delphi xe JMediaPlayer

qq_27373661的博客 592

Delphi播放器

效果图见博客地址:http://blog.youkuaiyun.com/zyjying520/article/details/8310007

Delphi MediaPlayer Android 的问题 之二

这几天都在折腾 Delphi FireMonkey MediaPlayer 在安卓下的问题。查源代码,这个 MediaPlayer 也是封装了安卓的 MediaPlayer,播放界面使用了安卓的 View 。人生就是打怪过关。这里好多关,最后还是过不了:1. 上一篇文章里提到的,第一次播放后,关闭 MediaPlayer,然后给它设置新的视频文件名,然后播放,却播放不起来的问题。通过使用 Time...

pcplayer的博客 2460

MP4播放器(delphi开发的)

基于delphi开发的MP4播放器,希望对大家有帮助!

mp4Player.zip_android_delphi MP4播放器_delphi mp4信息_delphi 播放MP4_mp

delphi 10.1开发的MP4播放器,比较简单,仅供参考

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...

pcplayer的博客 3414

Flutter版本升级踩坑实录:从3.27到3.35,我们是如何修复Impeller引擎导致的花屏问题的?

本文详细记录了团队在Flutter版本升级过程中遇到的Impeller引擎导致的花屏问题及解决方案。从问题诊断到最终升级至稳定版3.35,文章分享了排查步骤、升级策略和性能对比数据,为开发者提供了实用的参考经验。

weixin_26854555的博客 502

Delphi FMX安卓Android播放mp3音频内存流

Delphi FMX跨平台的MediaPlayer无法播放音频数据流只能打开音频文件播放,但有时候需要直接播放内存流数据而无需生成文件,可以通过把内存流转ByteArray再通过Android平台系统原生的MediaDataSource或ParcelFileDescriptor 加载播放流音频数据;用java编译打包添加到库即可。【笔记:安卓开发Java+Delphi FMX】

630

别让PEX和后仿真拖后腿:Calibre与Virtuoso ADE联调的那些‘坑’与最佳实践

本文深入探讨了Calibre与Virtuoso ADE在PEX寄生参数提取和后仿真联调中的常见问题与解决方案。针对DRC/LVS验证通过后出现的网表导入错误和仿真波形异常,提供了七大典型场景的实战经验,包括PEX提取模式选择、CalibreView生成细节、环境变量配置等关键环节的最佳实践,助力工程师高效完成芯片设计验证。

weixin_33695450的博客 392

【实战解析】RTL8306MB交换芯片驱动开发中的RMII接口调试陷阱

本文深入剖析了RTL8306MB交换芯片驱动开发中RMII接口的典型调试陷阱。通过一个工业网关项目的实战案例,揭示了因硬件原理图设计疏忽导致TX_EN与CRS_DV信号线错接,从而引发网络“哑火”的根本原因。文章详细展示了使用示波器从时钟、数据到控制信号的系统性排查方法,并总结了关键的设计警示与自查清单,为嵌入式网络开发中的软硬件协同调试提供了宝贵经验。

qqq44的博客 1028

Android微信机器人集成音乐播放:MediaPlayer音频焦点与后台服务实践

在Android应用开发中,音频播放是多媒体功能的核心场景之一,涉及音频焦点管理、后台服务保活等关键技术。其原理在于通过系统音频服务协调多个应用间的音频输出,避免同时播放产生冲突。技术价值在于保障用户体验的连贯性与系统资源的合理分配,广泛应用于音乐播放器、语音助手等场景。本文以微信机器人ClawBot为例,详细解析如何基于MediaPlayer实现稳定的后台音乐播放,重点解决音频焦点协商与Service生命周期管理问题,为自动化工具集成语音输出功能提供完整方案。

weixin_30542079的博客 420

《Hadoop大数据技术原理与应用》(第2版)黑马程序员的课后习题答案

《Hadoop大数据技术原理与应用》(第2版)黑马程序员的课后习题答案

qq_36773158的博客 4646

MediaPlayer播放不了音频和播放的音频错误

问题:在系统里面播放两个音频文件,一个是在锁屏,一个是触摸屏幕就播放。 思路:mediaPlayer有两种方式播放音频文件, MediaPlayer player = new MediaPlayer(); MediaPlayer player = MediaPlayer.create(context,R.rawXXX); 安卓屏幕的触摸事件是在PhoneWindowManager.java 里...

m1126125223的博客 1526

[官方培训]19-物理模拟 Epic 肖月 笔记

物理引擎全局解算精度的设置,帧率越高,子步越多得到的模拟结果就越精确。引擎默认情况下是以变化的帧率运行的,但是对于Chaos物理引擎来说。一般子步越小,帧率越固定,效果就会更好更稳定一些。图示的分步选项就是依据下方的最长子步时长和最大步数对动态变化的帧率,进一步的做拆分来保证物理效果。对于影视项目建议都开启分步选项。红色框内有三个迭代次数的设置,这是Chaos基于位置的约束求解算法专用的一个设置,可以简单理解为迭代次数越高,当前帧一个子步内得到的结果就越精确。

Tcohneyn的博客 1545

Coze视频混剪智能体工作流,1小时制作100条带货混剪视频,全平台通用

摘要:本文介绍如何利用Coze智能体工作流一键生成全平台带货混剪视频。该工作流支持双视频素材查重处理、智能文案重塑、画面重组等核心功能,通过多节点协同实现批量生产。系统可自动下载视频、提取字幕、生成新脚本,并完成剪辑合成,支持飞书表格批量操作。该工作流已在iThinkAi扣子团队空间开放复制使用,帮助用户高效制作爆款带货视频。

ai979290的博客 1084

MediaPlayer与SoundPool小结

写小结的目的有两个: 其一,可以加深对所学的内容的理解与提高; 其二,分享一下我的心得,同时希望大家踊跃指正,共同学习。       经过这段时间的软件开发,对MediaPlayer与SoundPool的使用以及在开发过程中出现的问题做一下小结: 由于开始对android的音频控制类陌生,所有在网上搜了部分资料进行了学习,由于网上的资料有点零散,零零碎碎的找到了可以设置android音频的类M

j67065的专栏 4121

基因家族Motif 分析

MEME

hgz2020的博客 6317

Delphi 10 fmx中录制音频

使用TCaptureDeviceManager类的DefaultAudioCaptureDevice方法获得TAudioCaptureDevice对象。FMX.Media.TAudioCaptureDevice进行录制使用类进行。Memo1.Lines.Add('无法使用语音捕获设备。Memo1.Lines.Add('开始录音了。Memo1.Lines.Add('录音结束。Memo1.Lines.Add('开始播放。在项目选项中选择“使用权限”,然后选中“录制音频”。安卓苹果手机测试通过。

全粘工程师 506

YOLO详解

本文参考知乎 https://zhuanlan.zhihu.com/p/25236464 1. YOLO的创新点 YOLO将物体检测作为回归问题求解。基于一个单独的end-to-end网络,完成从原始图像的输入到物体位置和类别的输出。 从网络设计上,YOLO与two steps的目标检测方法如RCNN、Fast RCNN和Faster RCNN的区别如下: YOLO训练和检测均是在一个单独网...

UnknownPlayer的博客 9945

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MediaPlayer和AudioTrack播放Audio的区别与联系

播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。 其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。 而AudioTrack只能播放已经解码的PCM流,如果是文

u011361576的专栏 699

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Delphi 12 安卓 部署文件,不支持中文文件名

sFileName:=TPath.Combine(TPath.GetDocumentsPath,'禁止吸烟.wav');

497

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

利用MediaPlayer 获取一个音频或者视频文件的播放时长

MediaPlayer md = new MediaPlayer();         try {             LogUtils.log(Environment.getExternalStorageDirectory() +"/123.mp3");             md.setDataSource(Environment.getExternalStorageDirecto

Deep Lee的专栏 1万+

关于MediaPlayer的同步和异步

在加载作业资源过程中,因为作业中有视频资源,出现了请求加载资源接口后,页面持续很久才会跳转(但是,Fragment已经走到了onResume()生命周期) ,最初将问题定位在视频较大,需加载很久。而log一直在报MediaPlayer.prepare();的错误,我认为视频长度能正常获取,这部分代码就是没问题的,就没有管。 但是又想不管是视频还是图片,请求到的数据都是一个url,不会占用很多时...

weixin_43876181的博客 1213

MediaPlayer主要属性

主要涉及类:MediaPlayer (1) 当一个MediaPlayer对象被创建或者调用reset()方法之后,它处于空闲状态,调用release()方法后处于结束状态 1,一个MediaPlayer对象调用了reset()方法后,再调用其它方法可能会触发OnErrorListener.onError()事件,未调用reset()方法则不会触发 2,当Mediaplayer对象不再被使用时,最好

梁少腾的博客 1462

Android实例-MediaPlayer播放音乐和视频(XE8+小米2)

  结果: 1.播放视频需要手动放入MediaPlayerControl1控件,设置MediaPlayerControl1.MediaPlayer := MediaPlayer1; 2.播放声音文件正常,但播放器视时发现,第一边正常第二边就报错了(哪位大神知道的,请M我哦,先谢谢了)。 3.打包时需要打入MP3与MP4文件,路径为"assets\internal\"。 PS:2016...

weixin_33859844的博客 283
上一篇: APP 横屏和竖屏
下一篇: Delphi MediaPlayer Android 的问题 之二
pcplayer
博客等级 码龄26年 633粉丝 284原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值