Android MediaPlayer 准备时间太长

2023-12-02

嘿, 我正在使用 MediaPlayer 播放常规 ShoutCast 流。该代码非常简单,只需使用prepareAsync() 和一个处理程序即可开始播放。虽然它可以与 DI.FM 或 ETN.FM (http://u10.di.fm:80/di_progressive) 等某些流完美配合,但与其他流 (http://mp3.wpsu.org:8000/) 则无法完美配合。不要超过准备状态。也没有调用其他侦听器。

//Uri streamUri = Uri.parse("http://u10.di.fm:80/di_progressive"); /* works */
Uri streamUri = Uri.parse("http://mp3.wpsu.org:8000/"); /* stuck on prepare state */
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
    public void onPrepared(MediaPlayer mp) {
        mp.start();
    }
});
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(this.getBaseContext(), streamUri);
mediaPlayer.prepareAsync();

如有任何反馈,我们将不胜感激!


我认为服务器端存在一些兼容性问题。 这很奇怪,因为在我的情况下模拟器可以正常处理它 - 只是在我的 Froyo Galaxy S 上不行,即使它是相同的 API 版本。

这可能是编解码器问题,http 流问题,我不知道。 但所有出现故障的服务器往往都是旧服务器,底部带有“版权所有 1998 - 2004”... 并不完全是您想象的最近或最新的。

一种潜在的解决方法(我还没有尝试过)是使用流代理,这也将使您的代码与 2.1 甚至更早的版本兼容。以额外的工作、额外的代码和毫无疑问的额外错误为代价......

如果您不知道,还有另一个 2.2 版本的播放器错误报告也可能相关:基本流音频在 2.1 中有效,但在 2.2 中无效

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android MediaPlayer 准备时间太长 的相关文章

  • Firebase 管理 SDK Android

    在 Android 中初始化 Firebase Admin SDK 的代码 Override protected void onCreate Bundle savedInstanceState super onCreate savedIns
  • BottomNavigationView - 如何获取选定的菜单项?

    我使用BottomNavigationView来切换片段 如何获取当前选定的菜单项 以防止重新打开片段 BottomNavigationView bottomNavigationView BottomNavigationView findV
  • Android - 如何一次只允许播放一个 MediaPlayer 实例?

    我正在尝试创建一个简单的 Sound board Android 应用程序 使用 ListView 项目作为按钮 顺便说一句 我是一个新手程序员 我的想法是 我按下一个按钮 就会播放一个特定的声音文件 如果我在播放声音时按下任何按钮 它应该
  • Android 应用程序在后台运行时保存数据

    目前我正在开发 xmmp 客户端 当应用程序位于前台时 该客户端工作得很好 但由于事实上 当应用程序处于后台时 我在 Application 类中保存了大量数据 复杂的 ArrayList 字符串和布尔值作为公共静态 每个字段都被垃圾收集
  • Firebase Analytics 禁用受众国家/地区跟踪

    我正在开发一个严格不允许位置跟踪的应用程序 我想使用 Firebase Analytic 的其他功能 例如 PageTransitions 和 Crashalitics 但如果我无法禁用受众位置跟踪 我就无法使用其中任何功能 这是我在 An
  • 为什么将函数参数声明为最终的?

    我目前正在阅读 Sams 出版的 24 小时自学 Android 应用程序开发 一书 我对 Java Android 或其他方面还比较陌生 我对 ActionScript 3 有非常扎实的背景 它与 Java 有足够的相似之处 因此该语言本
  • Phonegap - 如何将.txt文件保存在Android手机的根目录中

    我正在尝试使用phonegap 将 txt 文件保存在Android 手机的根目录中 我已经安装了这些插件 cordova plugin file 和 cordova plugin file transfer 在 config xml 文件
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • minHeight 有什么作用吗?

    在附图中 我希望按钮列与图像的高度相匹配 但我也希望按钮列有一个最小高度 它正确匹配图像的高度 但不遵守 minHeight 并且会使按钮向下滑动 我正在为按钮列设置这些属性
  • 在 Jetpack Compose 中启动动画矢量 Drawable

    我有一个动画矢量可绘制R drawable my anim 我想在 Jetpack Compose 中展示并开始 可绘制对象显示 渲染正确 但动画未启动 这是撰写视图 Composable fun SplashView Surface mo
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • Android Studio:无法启动守护进程

    当我尝试在 Android Studio 中导入 gradle 项目时 遇到以下错误 Unable to start the daemon process This problem might be caused by incorrect
  • 材质设计图标颜色

    应该是哪种颜色 暗 材质图标 在官方文档上 https www google com design spec style icons html icons system icons https www google com design s
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • 保护 APK 中的字符串

    我正在使用 Xamarin 的 Mono for Android 开发一个 Android 应用程序 我目前正在努力使用 Google Play API 添加应用内购买功能 为此 我需要从我的应用程序内向 Google 发送公共许可证密钥
  • Android 如何聚焦当前位置

    您好 我有一个 Android 应用程序 可以在谷歌地图上找到您的位置 但是当我启动该应用程序时 它从非洲开始 而不是在我当前的城市 国家 位置等 我已经在developer android com上检查了信息与位置问题有关 但问题仍然存在
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框
  • 在 Google 地图上绘制线条/路径

    我很长一段时间都在忙于寻找如何在 HelloMapView 中的地图上的两个 GPS 点之间画一条线 但没有运气 谁能告诉我该怎么做 假设我使用扩展 MapView 的 HelloMapView 我需要使用叠加层吗 如果是这样 我是否必须重

随机推荐

  • Jquery 如何使用美元符号? [复制]

    这个问题在这里已经有答案了 可能的重复 javascript中 符号的含义是什么 如果 Jquery 只是外部 javascript 代码 那么它如何使用美元符号 这不是要添加新的语法吗 只是一个普通变量 你可以做var 42
  • Android 11 (R) 中捕获和裁剪图像

    根据 android R 隐私政策的变化 我想为 android R 设备执行捕获和裁剪图像功能 我尝试了下面的方法 但它保存了空文件 文件正在指定文件夹中创建 但大小为 0kb 我在用着Android 图像裁剪器库来裁剪图像 public
  • 如何在 Vuejs 渲染函数中复制插槽?

    我有一个通过插槽传递内容的组件 我正在使用渲染函数来输出内容 我使用渲染函数的原因是因为我想多次复制内容 当我使用这段代码时 一切正常 render createElement return createElement div this s
  • 旋转后图像不在正确的位置(图形)

    我试图以不同的速率显示两个直径为 512untis 的旋转轮 但我无法删除以前绘制的图像图形并将旋转的图形设置在正确的位置 现在我正在以任意角度进行旋转 我尝试了 affineTransform 并获得了旋转 但很奇怪 就像所有像素都散开一
  • 如何让表单延迟显示

    编辑 Application DoEvents 这做到了 在这里找到 强制从 UI 线程更新 GUI c winforms 我想以 1 为步长增加数字 并将这些增量显示在列表视图中 以便用户看到数字递增 例如从 10 到 15 我有另一个按
  • 图像 url 未显示在网格中

    我已经为图像网址设置了网格视图 我无法在网格中看到图像 仅显示背景 然后单击网格将在下一个屏幕中播放 我做错了什么 如何实施 预先非常感谢 my code public class act extends Activity static S
  • 如何在 Matplotlib 图中的单行中获得不同的颜色?

    我正在使用 matplotlib 来创建绘图 我必须在图表中画一条线 必须根据每个点的函数定义其颜色 例如 我需要一条线 其中 2000 以下的点涂成红色 2000 以上的点涂成蓝色 我怎样才能得到这个 您知道类似的解决方案或解决方法来实现
  • 如何处理球体功能匹配?

    我正在从事徽标检测应用程序OpenCV on Android 我进行了大量搜索 发现为此目的大多数时候都使用特征检测 所以我搜索并尝试了不同的检测器和匹配器 最后我编写了一个可以很好地工作的代码ORB特征检测器 and 暴力匹配器 priv
  • Tensorflow安装错误:此平台上不支持轮子

    当我尝试通过从 Git 克隆来安装 TensorFlow 时 遇到错误 没有名为 copyreg 的模块 因此我尝试使用虚拟环境 但是 我随后遇到了这个错误 pip install https storage googleapis com
  • Sqlite 打开错误“无法打开数据库”

    在我的应用程序中 我使用日历控件来按日期存储信息 日历控件的链接 http blog webscale co in p 244 例如 当前选择的月份是 2010 年 10 月 现在 如果我切换回 2010 年 4 月并尝试返回到 2010
  • 使用java servlet将excel文件发送到客户端

    我在用阿帕奇兴趣点用于生成Excel文件输入Java Servlet getExcel 函数返回HSSFWorkbook 我想发送给客户 HSSFWorkbook wb getExcel 这是我到目前为止所尝试过的 block1 ByteA
  • 不应使用 keyup 事件的“charCode”属性。值没有意义

    HTML 代码
  • 如何获取存储在数组中的字符串长度(C)

    我如何获得下面字符串的长度以及数组大小 char str str 0 He str 1 llo str 2 Wor str 3 ld 我如何将它们存储在多维数组中 所以这个数组看起来像这样 char strstr str 的大小 str 的
  • 读取带有隐藏或不可见字符^M的csv文件

    我尝试读取包含隐藏或不可见字符的 csv 文件 但失败 文件内容如下所示 my data2 lt read table text Common name Scientific name Stuff1 Stuff2 Greylag Goose
  • SQLite onUpgrade 有 4 个数据库版本

    当我们有 4 个数据库版本并且我们在每个版本的用户表中添加了一个新字段时 执行 SQLiteOpenHelper 的 onUpgrade 方法的正确方法是什么 变体 A 每个 case 后都没有 中断 case 2 和 3 是否继续运行 p
  • 相对定位顶部百分比不适用于行内元素

    在下面 如果我对 Top 使用百分比值 则不会重新定位 em 如果我使用 px 的话效果很好 为什么 我在 w3 中对此进行了研究 但找不到任何使用百分比值的资格 定位上下文是 p 因为它的相对定位 应该具有从行框派生的高度 编辑 为了清楚
  • 在 jQuery 中使用 $ 和变量有什​​么具体原因吗

    我知道这是一个愚蠢的问题 但我对此有点困惑 例如 如果我有一个带有 ID 的输入 rad1 下面几行代码有什么区别吗 var a rad1 or var a rad1 不 没有真正的区别 这只是一个惯例 可以帮助您记住这一点a不是 DOM
  • 如何将 numpy 数组中的多个字符串连接为单个字符串?

    我有以下字符串数组作为 numpy 数组 filepaths np array Padma Meghna Jamuna 我想连接起来 这样我应该得到以下内容 Padma Meghna Jamuna 我正在执行以下操作 但没有达到预期效果 n
  • Azure AD B2C OpenID Connect 使用 WS-Federation 和 SAML 声明提供程序进行单点注销

    使用 WS Federation 和 SAML 将 AD FS 配置为自定义策略 作为 Azure AD B2C 上的声明提供程序 Azure AD B2C 上的依赖方正在使用 OpenID Connect 是否可以通过 OpenID Co
  • Android MediaPlayer 准备时间太长

    嘿 我正在使用 MediaPlayer 播放常规 ShoutCast 流 该代码非常简单 只需使用prepareAsync 和一个处理程序即可开始播放 虽然它可以与 DI FM 或 ETN FM http u10 di fm 80 di p