媒体播放器,外播和音频流

时间:2015-02-26 18:03:23

标签: android audio streaming android-mediaplayer exoplayer

我正在开发一款可以传输音频的Android应用。我目前正在使用Android MediaPlayer。如果我在流式传输时寻找音频文件中的某个位置,同时在同一个已经下载到我的mac的音频文件中寻找相同的位置(使用QuickTime Player),我不会听到相同的音频位置。显示屏显示我处于同一位置(02:49:54),但音频播放的声音不同(流媒体服务器在正确位置后20-40秒)。我尝试了Exoplayer演示应用程序并用我自己的流式网址替换了其中一个静态网址。 Exoplayer也会发生同样的事情。我的朋友作为iOS开发人员在流式传输时使用相同的流媒体服务器寻找合适的位置没有问题。我还有一个问题,即有时流媒体会在实际音频流完成之前停止几秒钟。我希望Exoplayer可以解决我的问题,因为旧的MediaPlayer似乎有点儿麻烦。有没有人知道我为什么会遇到这些问题?

1 个答案:

答案 0 :(得分:1)

我已经通过将-t添加到我用来减小mp3大小的LAME命令来解决了这个问题。如果添加-t选项,则不会向音频文件写入额外的LAME信息:

Kaspers-MacBook-Pro:Bomben finne $ mediainfo bomben2.mp3 一般

完整名称:bomben2.mp3

格式:MPEG音频

文件大小:67.9 MiB

持续时间:3小时17分钟

总比特率模式:常数

总比特率:48.0 Kbps

音频

格式:MPEG音频

格式版本:版本1

格式配置文件:第3层

持续时间:3小时17分钟

比特率模式:常数

比特率:48.0 Kbps

频道:1频道

采样率:32.0 KHz

压缩模式:有损

流大小:67.9 MiB(100%)

但是仍然应该修复,因为它在iOS上运行良好。现在,您可以通过运行:

重现错误

lame -m m --preset cbr 48 source.mp3 output.mp3

然后使它工作:

lame -t -m m --preset cbr 48 source.mp3 output.mp3

我创建了这个问题: https://code.google.com/p/android/issues/detail?id=158627&thanks=158627&ts=1425655288