我正在尝试制作一个在 android 上播放实时 http 流的应用程序(我已经在iphone中做了同样的事情)。Android官方教程展示了一个关于如何进行http直播的示例代码,我遵循了:
public class liveStream extends Activity implements OnClickListener {
Button streamButton;
MediaPlayer mediaPlayer = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_live_stream);
streamButton = (Button) findViewById(R.id.streamButton);
streamButton.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_live_stream, menu);
return true;
}
public void onClick(View v) {
String url = "http://d2233avv69kunu.cloudfront.net/hds-live/livepkgr/_definst_/liveevent/livestream.f4m";
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource(url);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
}
}
问题是当我尝试准备播放器时,我不断收到 IOException。如果是这样,我如何在没有第三方 Flash 播放器的情况下直接播放实时 http 流?类似于iphone