【发布时间】:2013-06-07 00:06:30
【问题描述】:
我有一个使用 MediaPlayer 流式传输的歌曲列表。有些歌曲一直有效,而另一些则一直无效。我看不出这些文件之间有什么区别,而且它们似乎在 iTunes 等中可以正常播放。
当歌曲失败时,它会在 mediaPlayer.prepare() 行上抛出 IllegalStateException。抛出的 IllegalStateException 中没有有用的信息,(detailMessage 为 null,stackState 为 null)
这是我的代码
try {
mediaPlayer.setDataSource(media.url);
setPlayerState(PlayerState.PREPARING);
mediaPlayer.prepare();
} catch (Exception e) {
e.printStackTrace();
Log.e(TAG, "bad stream");
}
这是一个不起作用的文件的 URL: skdy.bryceb.dev.mediarain.com/song.m4a
这是一个有效的方法: skdy.bryceb.dev.mediarain.com/song2.m4a
你知道为什么这对某些歌曲有效而对其他歌曲无效吗?
【问题讨论】:
-
那个 url 是用于导致异常的文件之一吗???如果是这样,请发布一个不会导致问题的网址,我会尝试比较。
-
这是一个有效的方法:skdy.bryceb.dev.mediarain.com/song2.m4a
-
嗯,到目前为止我什么都不能告诉你。我可以使用 Winamp 从 url 流式传输这两个文件,也可以直接在我的 PC 上的 Chrome 中流式传输。我下载了两者并在 GraphEdit 中渲染它们,它们都生成相同的图形并且无故障播放。我目前在项目之间,所以会再玩一些 - 如果我找到答案,我会回复你。
-
@MisterSquonk,看起来这可能是一个单独的问题。这两个文件实际上都出现了异常。但是第一个文件也触发了媒体播放器错误侦听器,错误代码为 -38,现在正在调查。
标签: android android-mediaplayer