我有一个简单的安卓应用程序,流式在线广播,一切都很好,但客户端希望应用程序有2个选项,128 kbp/s和38 kbp/s。我如何在android中设置MediaPlayer类的比特率?
这是我的PLA动作:
public void actionPlay(View view) {
mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
如果参考文档使用prepareAsync()
最好来自流。如果您使用prepare()
,您将阻塞它,直到有足够的数据被缓冲。
mediaPlayer.prepareAsync ();
请参考这里。
至于设置比特率,在官方文档中没有提及。也许你需要去NDK实现它,这将需要大量的工作…