1

我有一个简单的 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();
    }
}
4

1 回答 1

0

如果您参考文档prepareAsync(),最好从流中使用。如果你使用prepare(),你会阻塞它直到缓冲足够的数据。

mediaPlayer.prepareAsync();

参考这里
至于设置比特率,官方文档中没有提及。
也许你需要去 NDK 来实现它,这需要大量的工作..

于 2013-08-02T02:00:04.863 回答