我知道
Android的MediaPlayer是一件好事.它允许我们播放本地文件和媒体流.它很容易使用(例如):
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("http://streaming.shoutcast.com/80sPlanet"); // this steam broadcasts audio/mpeg
mediaPlayer.prepareAsync();
mediaPlayer.start();
可以通过使用不同的参数集调用重载的setDataSource()来设置不同类型的DataSource.
这个函数有一个有趣的原型:
void setDataSource(MediaDataSource dataSource)
看起来可以使用您自己的实现完全覆盖DataSource.它确实有效:
import android.media.MediaDataSource;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.net.URL;
import java.net.HttpURLConnection;
public class UrlMediaDataSource extends MediaDataSource {
URL url;
HttpURLConnection connection;
BufferedInputStream stream;
public UrlMediaDataSource(URL url) throws IOException { <