要使用Android ExoPlayer仅播放音频而无视频,您可以按照以下步骤进行操作:
implementation 'com.google.android.exoplayer:exoplayer-core:2.X.X'
请将“2.X.X”替换为最新版本号。
SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build();
DefaultTrackSelector trackSelector = new DefaultTrackSelector(context);
trackSelector.setParameters(trackSelector.buildUponParameters().setRendererDisabled(C.TRACK_TYPE_VIDEO, true));
DefaultLoadControl loadControl = new DefaultLoadControl.Builder().setAllocator(new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE)).build();
player.setTrackSelector(trackSelector);
player.setLoadControl(loadControl);
String audioUrl = "https://example.com/audio.mp3";
Uri audioUri = Uri.parse(audioUrl);
MediaSource audioSource = new ProgressiveMediaSource.Factory(new DefaultDataSourceFactory(context, Util.getUserAgent(context, "YourApp"))).createMediaSource(audioUri);
player.prepare(audioSource);
player.setPlayWhenReady(true);
完整的示例代码如下:
SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build();
DefaultTrackSelector trackSelector = new DefaultTrackSelector(context);
trackSelector.setParameters(trackSelector.buildUponParameters().setRendererDisabled(C.TRACK_TYPE_VIDEO, true));
DefaultLoadControl loadControl = new DefaultLoadControl.Builder().setAllocator(new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE)).build();
player.setTrackSelector(trackSelector);
player.setLoadControl(loadControl);
String audioUrl = "https://example.com/audio.mp3";
Uri audioUri = Uri.parse(audioUrl);
MediaSource audioSource = new ProgressiveMediaSource.Factory(new DefaultDataSourceFactory(context, Util.getUserAgent(context, "YourApp"))).createMediaSource(audioUri);
player.prepare(audioSource);
player.setPlayWhenReady(true);
请确保替换audioUrl
为实际的音频文件URL或URI。
这样,您就可以使用Android ExoPlayer仅播放音频而无视频了。