使用ImageButton和Exoplayer播放音频可以通过以下步骤实现:
implementation 'com.google.android.exoplayer:exoplayer:2.X.X'
请将2.X.X替换为最新的Exoplayer版本号。
<ImageButton
android:id="@+id/playButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/play_button" />
<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/playerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
private SimpleExoPlayer player;
private ImageButton playButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化Exoplayer
player = ExoPlayerFactory.newSimpleInstance(this);
PlayerView playerView = findViewById(R.id.playerView);
playerView.setPlayer(player);
// 初始化ImageButton
playButton = findViewById(R.id.playButton);
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (player.getPlayWhenReady()) {
player.setPlayWhenReady(false);
playButton.setImageResource(R.drawable.play_button);
} else {
player.setPlayWhenReady(true);
playButton.setImageResource(R.drawable.pause_button);
}
}
});
// 准备音频资源
Uri audioUri = Uri.parse("https://example.com/audio.mp3");
MediaSource mediaSource = new ExtractorMediaSource.Factory(
new DefaultHttpDataSourceFactory("ExoplayerDemo"))
.createMediaSource(audioUri);
// 播放音频
player.prepare(mediaSource);
}
在上述代码中,我们通过设置点击事件监听器来控制音频的播放和暂停。当点击ImageButton时,如果音频正在播放,则暂停音频并将按钮图标更改为播放图标;如果音频处于暂停状态,则开始播放音频并将按钮图标更改为暂停图标。
@Override
protected void onDestroy() {
super.onDestroy();
player.release();
}
这样就完成了使用ImageButton和Exoplayer播放音频的基本步骤。你可以根据自己的需求进一步定制播放器界面和功能,例如添加进度条、音量控制等。
推荐的腾讯云相关产品:腾讯云音视频解决方案。该解决方案提供了丰富的音视频处理能力,包括音频转码、音频剪辑、音频混音等功能,适用于各种音视频应用场景。详情请参考腾讯云音视频解决方案官方文档:https://cloud.tencent.com/document/product/266/9239
领取专属 10元无门槛券
手把手带您无忧上云