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