我有一个简单的Android应用程序,thar流在线广播,一切都很好,但客户希望该应用程序有2个选项,128 kbp / s和38 kbp / s。如何在asdroid中将比特率设置为MediaPlayer类?
这是我的行动:
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();
}
}
答案 0 :(得分:0)
如果您使用prepareAsync()
引用文档,则最好从流中获取。如果您使用prepare()
,则会阻止它,直到缓冲足够的数据为止。
mediaPlayer.prepareAsync();
参考here。
至于设定比特率,在官方文件中没有提到它
也许你需要去NDK去实现它,这将需要大量的工作..