【问题标题】:media player play song with buffer媒体播放器用缓冲区播放歌曲
【发布时间】:2017-02-15 10:13:42
【问题描述】:

我正在尝试通过媒体播放器播放直播 mp3 音频。 问题是当我使用 URL 时,它会阻塞 UI 线程一段时间然后它工作正常。但我需要它也播放带有缓冲的歌曲。

在此先感谢。请帮助。

    try {
             audioPlayer = new MediaPlayer();
            audioPlayer.setOnBufferingUpdateListener(this);
            audioPlayer.setOnCompletionListener(this);
            audioPlayer.setAudioStreamType(useFrontSpeaker ? AudioManager.STREAM_VOICE_CALL : AudioManager.STREAM_MUSIC);

        try {
            audioPlayer.reset();
            audioPlayer.setDataSource(mSongDetail.getPath());
            audioPlayer.prepare();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        audioDuration = audioPlayer.getDuration();
        audioPlayer.start();

        startProgressTimer();
    } catch (Exception e) {
        if (audioPlayer != null) {
            audioPlayer.reset();
            audioPlayer.release();
            audioPlayer = null;
            isPaused = false;
            MusicPreferance.playingSongDetail = null;
        }
        return false;
    }

【问题讨论】:

  • 在此处发布程序相关问题..不是一般问题...发布您的代码...您尝试过的东西??
  • 我已添加代码

标签: android media-player


【解决方案1】:

尝试使用 audioPlayer.prepareAsync() + asyncHandler ,或者使用单独的线程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多