我发现Android MediaPlayer在准备使用不同流进行直播流播放时所需的时间差异很大。

硬数据

我在prepareAsync()和onPrepared(MediaPlayer mp)回调之间添加了日志记录,并且每次测试几个流。每个流的时间非常一致(/ – 一秒),这里是结果:

> MPR新闻流:27秒(http://newsstream1.publicradio.org:80/)

> MPR古典音乐流:15秒(http://classicalstream1.publicradio.org:80/)

> MPR当前流:7秒(http://currentstream1.publicradio.org:80/)

> PRI流:52秒(http://pri-ice.streamguys.biz/pri1)

测试在Nexus S与Android 2.3.4在3G连接(〜1100 Kbps)上进行。

播放非流式MP3音频文件不是问题。

这里是我如何播放流的片段:

准备MediaPlayer:

...

mediaPlayer.setDataSource(playUrl);

mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

mediaPlayer.prepareAsync();

...

然后在onPrepared(MediaPlayer mp):

mediaPlayer.start();

为什么需要这么长时间准备一些流,但不是其他?上述数据似乎暗示它可以基于已缓冲的数据量而不是缓冲的音频内容的持续时间。这是真的吗?

更新:我已测试实时流媒体在物理设备与Android 1.6,2.2和2.3.4和模拟器与1.6,2.1,2.2,2.3.1和2.3.3。我只看到2.3.3和2.3.4的长延迟。旧版本在5秒内开始播放。

android 直播流的播放,为什么Android的MediaPlayer需要这么长时间才能准备一些直播流进行播放?...相关推荐

  1. Android Video Player. 安卓视频播放器,封装 MediaPlayer、ExoPlayer、IjkPlayer。模仿抖音,悬浮播放,广告播放,列表播放,弹幕

    DKVideoPlayer 项目地址:dueeeke/DKVideoPlayer 简介: Android Video Player. 安卓视频播放器,封装 MediaPlayer.ExoPlayer. ...

  2. android gradle时间长,Android Studio gradle需要很长时间才能构建

    找到了一种简单而且最好的方法来构建gradle 转到您的应用>>打开您的gradle.properties并从中更改几行[删除# ] 否则你也可以复制粘贴我的下面的代码片段# Projec ...

  3. android 背景图太大,android – 背景图片需要太长时间才能画(Canvas)Jerky Sprites ……?...

    嘿所有我正在处理我一直在努力的应用程序的十字路口. 这是一个游戏和一个"街机/动作",但是我使用Surfaceview而不是Open GL对它进行编码(当游戏从原始设计中彻底改变时 ...

  4. android h 游戏下载地址,Android h游戏_如何在Android手机上玩游戏

    最近人们喜欢在手机上玩游戏. 除了一些手机游戏(Android H游戏)之外安卓才可以玩的h,越来越多的朋友开始寻找Android手机游戏. 但是,有些人已经搜索了很长时间,还没有找到合适的游戏来玩. ...

  5. android 播放直播流,【报Bug】video组件播放直播流无法重连 android app

    详细问题描述 android app nvue页面使用video播放直播流视频(非普通在线视频),切换网络会导致视频一直缓冲无法继续播放,一直触发@error事件,只用用4g或者wifi均可正常播放, ...

  6. android 推流地址可以多人用,Android直播实现(一)Android端推流、播放

    Android直播实现(一)Android端推流.播放 最近想实现一个Android直播,但是对于这方面的资料都比较零碎,一开始是打算用ffmpeg来实现编码推流,在搜集资料期间,找到了几个强大的开源 ...

  7. Android直播实现(一)Android端推流、播放

    最近想实现一个Android直播,但是对于这方面的资料都比较零碎,一开始是打算用ffmpeg来实现编码推流,在搜集资料期间,找到了几个强大的开源库,直接避免了jni的代码,集成后只用少量的java代码 ...

  8. android播放flv,Android:从url播放flv视频流

    我目前有一个应用程序,它可以记录视频并将其上传到我的服务器.在上传视频之后,应用程序会获得一个响应,该响应包含指向该文件的flv流的URL.Android:从url播放flv视频流 当我尝试在andr ...

  9. 车载播放器 android,KX万能播放器

    应用信息 全能播放器,支持所有流行的视频和音频格式,无需任何转换. 它的智能核心技术自动检测视频和音频格式,使得它更容易,让您享受更流畅,更优质的视频和音乐. "视频!音乐"在您手 ...

最新文章

  1. pythonfor循环遍历list_为什么for循环可以遍历list:Python中迭代器与生成器
  2. 云计算究竟是什么呢?“汇新杯”新兴科技成果专项赛之——云计算
  3. 【C】——线程引入 pthread_self 和 pthread_equal 原因 ——解决不同平台的问题!
  4. 整型数组 判断 java,给定一个整数数组,判断其中是否有3个数和为N
  5. 32销售是合理的引导用户购买
  6. TensorFlow 卷积神经网络实用指南 | iBooker·ApacheCN
  7. 博途数据类型wstring怎么用_解析博图数据块(昆仑通态触摸屏自动命名)
  8. vSphere 7.0 GA正式版发布
  9. STM32F103使用DAC功能输出三角波
  10. 计算机小白学生物信息的难度,基因表达数据分析,对于还是分子生物学小白的我来说太难了。。。...
  11. cad多线段长度计算总和_CAD小白必备:1秒教会你CAD画线,再也不为画线烦恼
  12. js中url的对象化管理
  13. DELL官方证实:NVIDIA史上最大显卡质量事故
  14. 大数据工程师、数据挖掘师和数据分析师有啥区别
  15. 输入阻抗和输出阻抗概念
  16. Vue实现自定义下拉菜单
  17. 计算机网络 方面应用研究,计算机网络技术应用研究
  18. 做网站的人必须遵守的N大定律
  19. 学好编程之GOC语言快速入门(1)
  20. nextInt与nextLine

热门文章

  1. 无限幻斗那个服务器人多,《无限幻斗》旅团出新玩法 魔物狩猎探秘惊喜
  2. 中文分词算法及python代码实现(持续更新中)
  3. 计算机主机可以有几块硬盘,系统显示几个硬盘真的代表主机里有几块硬盘吗?...
  4. SecureCRT 使用脚本命令自动记录日志
  5. 【ppt课件制作】Focusky教程 | 配音与字幕同步教程
  6. python抢火车票_听说你能用 Python 帮我抢火车票?!
  7. DELL服务器RAID配置教程AND为服务器安装centos7系统实验
  8. Python3爬取京东商品数据,解决赖加载问题
  9. **TP-LINK三层交换的配置,多网段互相访问并上网 型号:交换机TPLINK(TL-SG5218) 路由器TPLINK(TL-ER6220G)**
  10. Thinkpad T410安装Windows Server 2008 R2