AndroidStudio音频


        vdvwFilm=(VideoView)root.findViewById(R.id.vdvwFilm);
        String uri = "android.resource://" + getActivity().getPackageName() + "/" + R.raw.m1;

 vdvwFilm.setVideoURI(Uri.parse(uri));//视频设置链接

        k.setText("开始");vdvwFilm.start();
                  
       k.setText("暂停");vdvwFilm.stopPlayback();
       
     mp= MediaPlayer.create(getActivity(), R.raw.m2);//音乐播放器
    s=(SeekBar)root.findViewById(R.id.seekbar);
    s.setMax(mp.getDuration());//进度条长度
    s.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    }
    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
    }
    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        mp.seekTo(seekBar.getProgress());//音乐
    }
});
        progressThread  progressThread= new progressThread();
        progressThread.start();
   if(mp.isPlaying()){
                   mp.pause();
                    t.setText("音频开始");
                }else{
                    mp= MediaPlayer.create(getActivity(), R.raw.m2);
                    mp.start();
                    t.setText("音频暂停");
                }
            }
        });
    return root;
    }

    class progressThread extends Thread{
        boolean flag=true;
        @Override
        public void run() {
            super.run();
            while(flag){
                if(mp.isPlaying()) {
                    s.setProgress(mp.getCurrentPosition()); //实时获取播放音乐的位置并且设置进度条的位置
                }
            }
        }
        //下面的函数是外部调用种植线程的,因为现在是不提倡直接带哦用stop方法的
        public void stopThread(){

            this.flag=false;
        }

    }








//    private class SeekBarThread implements Runnable {
//
//        @Override
//        public void run() {
            while (mp != null && mp.isPlaying()== false) {
//                // 将SeekBar位置设置到当前播放位置
//                s.setProgress(mp.getCurrentPosition());
//                try {
//                    // 每100毫秒更新一次位置
//                    Thread.sleep(100);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
            }
//
//        }}//         me=new MediaController(getActivity());
        me.setMediaPlayer(vdvwFilm);
        vdvwFilm.setMediaController(me);
        s=(SeekBar)root.findViewById(R.id.seekbar);
        s.setMax(mp.getDuration());
        // 创建一个线程
       Thread thread = new Thread(new SeekBarThread());
        // 启动线程
        thread.start();
        s.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                if(fromUser){

                }
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
        if(mp.isPlaying()){
            s.setProgress(mp.getCurrentPosition());
        }
        int position = mp.getCurrentPosition();

        int time = mp.getDuration();
        int max = s.getMax();
        s.setProgress(position*max/time);
    //s=(SeekBar) root.findViewById(R.id.seekbar);
//s.setOnSeekBarChangeListener((SeekBar.OnSeekBarChangeListener) getActivity());
//        try {
//            mp.prepare();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }

//        File file = new File(Environment.getExternalStorageDirectory()
//                + "/Download/", "aiqiu.mp3");
//        try {
//            mp.setDataSource(file.getPath());
//        } catch (IOException e) {
//            e.printStackTrace();
//        }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值