在android应用程序中加载音频文件

在android应用程序中加载音频文件,android,android-studio,Android,Android Studio,我有一个服务器,服务器上有许多音频文件,这些文件会不时添加。我想把这些文件加载到我的android应用程序中,这样就可以播放它们了。我该怎么做呢 我正在使用本机androidSimple AudioHandler类来播放、暂停、恢复音频等 public class AudioHandler { private SimpleExoPlayer simpleExoPlayer; //Start Playing public void playAudio(String URL) { t

我有一个服务器,服务器上有许多音频文件,这些文件会不时添加。我想把这些文件加载到我的android应用程序中,这样就可以播放它们了。我该怎么做呢


我正在使用本机android

Simple AudioHandler类来播放、暂停、恢复音频等

public class AudioHandler {


private SimpleExoPlayer simpleExoPlayer;


//Start Playing
public void playAudio(String URL) {
    try {
        if(simpleExoPlayer == null) {
            simpleExoPlayer = ExoPlayerFactory.newSimpleInstance(
                    new DefaultRenderersFactory(mContext),
                    new DefaultTrackSelector(),
                    new DefaultLoadControl());
        }

        // Preparing from url
        Uri uri = Uri.parse(URL);
        MediaSource mediaSource = buildMediaSource(uri);

        simpleExoPlayer.prepare(mediaSource, true, false);
        simpleExoPlayer.setPlayWhenReady(true);

        simpleExoPlayer.addListener(new Player.DefaultEventListener() {
            @Override
            public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
                super.onPlayerStateChanged(playWhenReady, playbackState);

                switch(playbackState) {
                    case Player.STATE_READY:
                        // Update UI -- Audio has start playing
                        break;
                    case Player.STATE_ENDED:
                        ReleaseMediaPlayer();
                        // Update UI -- Audio has ended
                        break;
                    default:
                        break;
                }
            }

            @Override
            public void onPlayerError(ExoPlaybackException error) {
                super.onPlayerError(error);
                ReleaseMediaPlayer();
                // Update UI -- error
            }
        });

    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void pauseAudio(){
    try{
        if (simpleExoPlayer != null) {
            simpleExoPlayer.setPlayWhenReady(false);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void resumeAudioa(){
    try{
        if (simpleExoPlayer != null) {
            simpleExoPlayer.setPlayWhenReady(true);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void ReleaseMediaPlayer(){
    try{
        if (simpleExoPlayer != null) {
            simpleExoPlayer.release();
            simpleExoPlayer = null;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

private MediaSource buildMediaSource(Uri uri) {
    return new ExtractorMediaSource.Factory(
            new DefaultHttpDataSourceFactory("exoplayer-audios")).
            createMediaSource(uri);
}


// Constructor and other methods...

}

您需要流式传输音频文件还是需要下载手机内存中的所有音频文件?从服务器流式传输。所以有多个文件,我希望用户能够点击他们想要收听的文件,无论他们选择哪个。