MediaPlayer()音频口吃(android)

MediaPlayer()音频口吃(android),android,media-player,audio-streaming,live-streaming,Android,Media Player,Audio Streaming,Live Streaming,在我的android应用程序中,我正在使用MediaPlayer功能从远程服务器传输实时音频流。但是音频是断断续续的。问题不在于我的互联网,因为当我在电脑上播放时,feed播放得非常完美。可能是什么问题?*注意:流是活动的。 这是我正在使用的代码: MediaPlayer mp = new MediaPlayer(); try{ mp.setDataSource("http://radiotool:80/feed 342.mp3");//hardcoded for testing

在我的android应用程序中,我正在使用MediaPlayer功能从远程服务器传输实时音频流。但是音频是断断续续的。问题不在于我的互联网,因为当我在电脑上播放时,feed播放得非常完美。可能是什么问题?*注意:流是活动的。 这是我正在使用的代码:

MediaPlayer mp = new MediaPlayer();
    try{
    mp.setDataSource("http://radiotool:80/feed 342.mp3");//hardcoded for testing purposes
    mp.prepare();
    mp.start();
    }
    catch(Exception e)
    {Log.d("Error came up man",", check the internet connection and stuff..");

您链接到的流没有在流的开头发送大的数据缓冲区。通常这不是问题,因为客户端负责确定播放速率、监视数据传输速率并相应地管理客户端缓冲区。这就是为什么当我给你一个链接尝试使用一个大的缓冲区,这不是一个问题发挥

基本上,音频丢失是由于持续的缓冲区不足造成的。要解决这个问题,您需要增加缓冲区大小。现在看来这是不可能的,但另一种方法可能是。那个链接很旧。。。希望从那时起,有人找到了另一种方法。我不是Android开发者,所以我不能肯定地告诉你


我首先要做的是调用
mp.prepareAsync()
,然后在MediaPlayer告诉您准备好启动后等待2秒钟。我有一种预感,数据将继续在后台缓冲,直到您真正调用
.start()

您是否尝试过流式播放其他mp3文件?也许问题就在于这个mp3,只是猜测。是的,我尝试了很多不同的直播流,都有相同的口吃问题,但正常的mp3文件(如歌曲)播放得非常完美…断断续续和口吃的频率是多少?比如,你听到一个300毫秒的声音块,然后是100毫秒的静音,然后是300毫秒的音频?或者,它播放1-3秒,停止1-3秒,然后再次播放?你怎么知道这不是连接问题,可能是WiFi问题?你的缓冲区有多大?是的,我听到300毫秒的音频和100毫秒的静音,就是这样。我知道Wi-fi不是问题,因为当我在电脑上播放谷歌chrome的视频时,它播放得非常完美。来自其他网站的流式歌曲(在模拟器上)也能完美播放。但是我想玩的是口吃。是因为流是一条实时流而不是一首歌吗?预录制的实时流没有任何区别。如果你在玩同一个协议,玩家不知道。唯一的区别是,实时流最初可能不会发送一个巨大的缓冲区。通常,这并不重要。试试这个流:它有一个大的缓冲区,可以尽快刷新到客户端。