使用SurfaceView播放视频,调节进度,滑动屏幕调节音量并显示音量。

本文介绍如何利用SurfaceView在Android中播放视频,并实现通过滑动屏幕调节视频播放进度和音量的功能。首先在清单文件进行注册,接着展示关键的Java代码和布局文件配置。
摘要由CSDN通过智能技术生成

效果展示:
这里写图片描述

  1. 首先在清单文件中注册:
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  1. java代码:
public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback
{
   

    private SurfaceView surfaceView;

    private SurfaceHolder holder;

    private TextView tvSound, tvCurrentT, tvDuration;

    private ProgressBar progressBar;

    private MediaPlayer mediaPlayer;

    private Uri uri;

    private Handler handler;

    private float downX, downY;

    private int screenWidth;

    private int FACTOR = 100;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        //TODO 将屏幕设置为横屏()
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        //TODO 将屏幕设置为竖屏()
        //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        screenWidth = getResources().getDisplayMetrics().widthPixels;
        surfaceView = (SurfaceView) findViewById(R.id.surface_view);
        surfaceView.setOnTouchListener(new View.OnTouchListener()
        {
            @Override
            public boolean onTouch(View v, MotionEvent event)
            {
                switch (event.getAction())
                {
                    case MotionEvent.ACTION_DOWN:
                        downX = event.getX();
                        downY = event.getY();
                        break;
                    case MotionEvent.ACTION_MOVE:
                        // TODO 音量
                        float distanceX = event.getX() - downX;
                        float distanceY = event.getY() - downY;
                        if (downX > screenWidth - 200
                                && Math.abs(distanceX) < 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值