【发布时间】:2025-12-05 17:05:02
【问题描述】:
我使用这个代码:
mediaPlayer.setDataSource("http://some online radio");
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.prepareAsync();
而onPrepared的方法是:
if (mediaPlayer != null) {
mediaPlayer.start();
}
一般来说,问题是:然后我运行这段代码,播放不会立即开始,而是大约 10 秒后开始。 + 一些流根本不启动,在模拟器上它比在设备上工作得好一点,但仍然。这取决于具体的收音机,有些更好,有些很差。
我认为问题在于准备和缓冲。可以从这个流中创建一个InputStream并写入一些临时文件/缓冲区,并在MediaPlayer中读取/播放这个文件,但是如何实现它,还不清楚..请帮助
如果你只做mp.prepare,然后mp.start - 结果是一样的
在 Chrome 中的 PC 上,我尝试使用的所有无线电流都会立即开始播放
对不起,我的英语不好,谢谢。
【问题讨论】:
标签: java android media-player android-mediaplayer audio-streaming