使用mediaplayer在Android 6.0.1上传输音频时出现问题

使用mediaplayer在Android 6.0.1上传输音频时出现问题,android,audio,audio-streaming,android-6.0.1-marshmallow,Android,Audio,Audio Streaming,Android 6.0.1 Marshmallow,自从我把我的手机三星S6升级到安卓6.0.1后,mediaPlayer开始表现得很奇怪 我使用MediaPlayer通过http流式传输.mp3音频,它以前的工作没有任何问题 由于此更新,几乎所有长于1:30的音频I流都将过早停止 示例: 05-02 20:58:11.031 3119-26787/? V/MediaPlayerService: [1952] getDuration = 377496 05-02 20:58:11.031 15611-15611/com.test.test V/M

自从我把我的手机三星S6升级到安卓6.0.1后,mediaPlayer开始表现得很奇怪

我使用
MediaPlayer
通过http流式传输.mp3音频,它以前的工作没有任何问题

由于此更新,几乎所有长于1:30的音频I流都将过早停止

示例:

05-02 20:58:11.031 3119-26787/? V/MediaPlayerService: [1952] getDuration = 377496
05-02 20:58:11.031 15611-15611/com.test.test V/MediaPlayer-JNI: getDuration: 377496 (msec)
05-02 20:58:11.031 15611-15611/com.test.test V/MediaPlayer-JNI: getCurrentPosition: 119842 (msec)
05-02 20:58:11.041 15611-15611/com.test.test V/MediaPlayer-JNI: isPlaying: 1
05-02 20:58:11.041 15611-15611/com.test.test V/MediaPlayer-JNI: isPlaying: 1
05-02 20:58:11.061 3625-4927/? V/BroadcastQueue: [background] Process cur broadcast BroadcastRecord{d8b120b u0 null qIdx=4}, state= (APP_RECEIVE) DELIVERED for app ProcessRecord{436e057 16133:com.google.android.gms.persistent/u0a11}
05-02 20:58:11.151 3625-4936/? I/ActivityManager: Killing 16021:com.samsung.android.themecenter/1000 (adj 15): DHA:empty #31
05-02 20:58:11.171 3625-4951/? D/ActivityManager: isAutoRunBlockedApp:: com.samsung.android.themecenter, Auto Run ON
05-02 20:58:11.241 3119-16904/? I/NuPlayerDecoder: [audio] saw output EOS
05-02 20:58:11.241 3119-16903/? I/NuPlayerRenderer: onQueueEOS audio finalResult : -1011
05-02 20:58:11.371 3119-16903/? I/NuPlayerRenderer: [audio] notifyEOS() End of Stream, delayUs : 590370
05-02 20:58:11.371 3119-16903/? V/AudioSink: stop
05-02 20:58:11.681 3119-16896/? D/GenericSource: cachedDurationUs = 0.00 secs, eos=1
05-02 20:58:11.961 3119-16893/? I/NuPlayerRenderer: reachedAudioEOS (1)
05-02 20:58:11.961 3119-16893/? V/NuPlayer: reached audio EOS
如日志所示,调用了
getDuration()
(377496毫秒)。 在调用
getCurrentPosition()
之后(119842毫秒)

此后,
numplayer
似乎检测到EOS,执行
OnCompletionListener
并停止音频

就在我升级到安卓6之前,这一切都没有任何问题

有人知道发生了什么事以及如何预防吗


提前谢谢。

这越来越奇怪了。onCompletionListener的逻辑似乎表现正确,我发现缓冲似乎是问题所在。OnBufferingUpdate按预期被调用,但它永远不会达到100%。相反,它停在33-43%的某个地方。我正在WiFi网络上执行测试,因此连接不应成为问题。使用安卓M 6.0.0进行测试工作正常,这仅适用于6.0.1。很烦人,有人提示吗?这是一个编程问题吗?是的,因为我需要知道是否有任何解决方法可以使缓冲正常工作,例如,设置一些特定的成员或诸如此类。那么代码在哪里?有解决方案吗?我遇到了同样的问题,媒体播放器“看到EOS”太早了。