任何加速此代码的方法。流媒体音频Android

任何加速此代码的方法。流媒体音频Android,android,streaming,android-mediaplayer,audio-streaming,Android,Streaming,Android Mediaplayer,Audio Streaming,制作一个应用程序并从站点播放音频流。我有一个菜单,当我点击按钮打开无线电活动时,加载可能需要8-20秒,有时强制关闭。任何帮助都会很棒,谢谢 代码: 使用prepareAsync()和setOnPreparedListener()而不是prepare()prepare()阻止UI线程,直到它返回,并且不建议用于流。这可能是导致您崩溃的原因 mp = new MediaPlayer(); try { mp.setAudioStreamType(AudioManager.STREAM_MUS

制作一个应用程序并从站点播放音频流。我有一个菜单,当我点击按钮打开无线电活动时,加载可能需要8-20秒,有时强制关闭。任何帮助都会很棒,谢谢

代码:

使用
prepareAsync()
setOnPreparedListener()
而不是
prepare()
prepare()
阻止UI线程,直到它返回,并且不建议用于流。这可能是导致您崩溃的原因

mp = new MediaPlayer();
try {
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mp.setDataSource(res);
    mp.setOnPreparedListener(new OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer player) {
            mp.start();
        }
    });
    mp.prepareAsync();
} catch (IllegalArgumentException e) {
    e.printStackTrace();
} catch (IllegalStateException e) {
    e.printStackTrace();
} catch (IOException e) {

}

同步准备播放播放器。设置数据源和显示图面后,需要调用prepare()或prepareAsync()。对于文件,可以调用prepare(),直到MediaPlayer准备好播放为止


否则我认为网络是你的瓶颈。加快速度的最快方法是确保服务器/客户端通信快速。您的代码似乎没有天生的慢。

谢谢您的帮助,您能告诉我该放在哪里吗。对不起,我是AndroidOh的新手,我会代替prepare()谢谢你们,我马上就有了这么多的负载,我得等着上网,但好多了。非常感谢!没问题:)很乐意帮忙
mp = new MediaPlayer();
try {
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mp.setDataSource(res);
    mp.setOnPreparedListener(new OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer player) {
            mp.start();
        }
    });
    mp.prepareAsync();
} catch (IllegalArgumentException e) {
    e.printStackTrace();
} catch (IllegalStateException e) {
    e.printStackTrace();
} catch (IOException e) {

}