我需要在项目中使用音频文件。
我尝试使用此代码,它可以在Android 5.0上运行,但不能在7.0下工作。
String url = "http://sites.google.com/site/ubiaccessmobile/sample_audio.amr";
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare();
mediaPlayer.start();
mediaPlayer.prepare()抛出错误 java.io.IOException:准备失败:status = 0x1
如果我在资源中使用音频文件,这段代码完美无缺。 但是对于流媒体没有。
我在另一个线程中尝试prepareAsync(),prepare()。但是存在同样的错误。 当然,我使用try-catch。
我认为对于运行时许可,但这个应用只需要INTERNET。并且它不需要运行时许可。
我该怎么办? android 7.0无法使用流媒体音频???
请告诉我问题或其他图书馆。
我解决了......? 我不知道它到底是什么,如果我使用另一种音频格式 - 如mp3,m4a - 这段代码完美无缺。 为什么android 7.0讨厌amr文件???
答案 0 :(得分:0)
您可以将 mediaPlayer.prepare()的try catch用作:
try {
mediaPlayer.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}