任何加速此代码的方法。流媒体音频Android
制作一个应用程序并从站点播放音频流。我有一个菜单,当我点击按钮打开无线电活动时,加载可能需要8-20秒,有时强制关闭。任何帮助都会很棒,谢谢 代码: 使用任何加速此代码的方法。流媒体音频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
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) {
}