mediaplayer和seekbar结合处理网络音频播放

该文章介绍了如何在Android中使用MediaPlayer进行音频播放,包括设置播放源、添加准备完成监听器以启动播放,以及结合SeekBar实现进度控制。同时,利用定时器定期更新SeekBar的进度,以同步播放位置。
摘要由CSDN通过智能技术生成

原文地址:https://www.5axxw.com/questions/simple/qvw0cf

1. 创建MediaPlayer对象,设置播放源,设置监听器,准备播放:


// 创建MediaPlayer对象
MediaPlayer mediaPlayer = new MediaPlayer();
// 设置播放源
mediaPlayer.setDataSource(url);
// 设置监听器
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
        // 准备完毕,开始播放
        mediaPlayer.start();
    }
});
// 准备播放
mediaPlayer.prepareAsync();

2. 创建SeekBar对象,设置最大值,设置监听器:


// 创建SeekBar对象
SeekBar seekBar = new SeekBar(this);
// 设置最大值
seekBar.setMax(mediaPlayer.getDuration());
// 设置监听器
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        // 拖动进度条,改变播放进度
        if (fromUser) {
            mediaPlayer.seekTo(progress);
        }
    }
    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
    }
    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
    }
});

3. 创建定时器,每隔一段时间更新SeekBar的进度:


// 创建定时器
Timer timer = new Timer();
// 每隔一段时间更新SeekBar的进度
timer.schedule(new TimerTask() {
    @Override
    public void run() {
        // 更新SeekBar的进度
        seekBar.setProgress(mediaPlayer.getCurrentPosition());
    }
}, 0, 500);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值