视频 :
videoViewHolder.video.setVideoPath(dataBean.getVideouri()); MediaController mediaController = new MediaController(context); videoViewHolder.video.setMediaController(mediaController); mediaController.setAnchorView(videoViewHolder.video); videoViewHolder.video.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { videoViewHolder.video.start(); } });
音频 :
package com.example.administrator.sanzhoumoni; import android.animation.ObjectAnimator; import android.graphics.Bitmap; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.animation.RotateAnimation; import android.widget.Button; import android.widget.ImageView; import android.widget.SeekBar; import com.bumptech.glide.Glide; import com.facebook.drawee.view.SimpleDraweeView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer; import java.io.IOException; import java.util.Timer; import java.util.TimerTask; public class Main2Activity extends AppCompatActivity implements View.OnClickListener { private Handler handler = new Handler(){}; private ImageView mSdv; /** * 开始 */ private Button mStrat; private SeekBar mSeekBar; /** * 结束 */ private Button mShop; private MediaPlayer mediaPlayer; private String path = "http://sc1.111ttt.cn:8282/2018/1/03m/13/396131229550.m4a?tflag=1519095601&pin=6cd414115fdb9a950d827487b16b5f97#.mp3"; private String imgpath = "http://d.hiphotos.baidu.com/zhidao/pic/item/bf096b63f6246b60bfac143de9f81a4c500fa2dd.jpg"; private ObjectAnimator objectAnimator; private DisplayImageOptions options; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); initView(); } private void initView() { mSdv = findViewById(R.id.sdv); mStrat = (Button) findViewById(R.id.strat); mStrat.setOnClickListener(this); mSeekBar = (SeekBar) findViewById(R.id.seekBar); mShop = (Button) findViewById(R.id.shop); mShop.setOnClickListener(this); options = new DisplayImageOptions.Builder() .cacheInMemory(true)//使用内存缓存 .cacheOnDisk(true)//使用磁盘缓存 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式 .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式 .displayer(new RoundedBitmapDisplayer(100))//设置圆角 .build(); ImageLoader.getInstance().displayImage(imgpath, mSdv, options); // Glide.with(this).load(imgpath).into(mSdv); //mSdv.setImageURI(imgpath); mediaPlayer = new MediaPlayer(); objectAnimator = ObjectAnimator.ofFloat(mSdv, View.ROTATION, 0, 360f); objectAnimator.setDuration(3000); mSeekBar.setOnSeekBarChangeListener(new SeekBar.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) { } }); } @Override public void onClick(View v) { switch (v.getId()) { default: break; case R.id.strat: try { mediaPlayer.setDataSource(path); mediaPlayer.prepare(); mediaPlayer.start(); } catch (Exception e) { e.printStackTrace(); } int duration = mediaPlayer.getDuration(); /* RotateAnimation rotateAnimation = new RotateAnimation(0.0f, 360f, 50f, 50f); rotateAnimation.setDuration(duration); mSdv.startAnimation(rotateAnimation);*/ objectAnimator.start(); mSeekBar.setMax(duration); Timer timer = new Timer(); TimerTask timerTask = new TimerTask() { @Override public void run() { handler.post(new Runnable() { @Override public void run() { //从播放器中获取到当前正在播放的进度; int currentPosition = mediaPlayer.getCurrentPosition(); //设置给当前的进度条; mSeekBar.setProgress(currentPosition); objectAnimator.start(); } }); } }; timer.schedule(timerTask, 0, 3000); break; case R.id.shop: mediaPlayer.pause(); objectAnimator.end(); //mSdv.sto break; } } @Override protected void onDestroy() { super.onDestroy(); if(mediaPlayer !=null){ //程序退出的时候,释放播放器资源; mediaPlayer.release(); } } }