我怎么能在Android 7.0上使用MediaPlayer?

时间:2018-02-07 03:10:08

标签: android audio streaming

我需要在项目中使用音频文件。

我尝试使用此代码,它可以在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文件???

1 个答案:

答案 0 :(得分:0)

您可以将 mediaPlayer.prepare()的try catch用作:

try { 
     mediaPlayer.prepare();
 } catch (IllegalStateException e) {
      e.printStackTrace();
 } catch (IOException e) {
      e.printStackTrace();
 }