117.info
人生若只如初见

android videoview怎样设置播放源

在Android中,要设置VideoView的播放源,您可以使用以下方法:

  1. 通过XML布局文件设置:

在XML布局文件中,添加VideoView控件并设置其属性。例如:


  1. 在Activity或Fragment中设置播放源:

在Activity或Fragment的Java或Kotlin代码中,首先获取VideoView实例,然后使用setVideoURI()方法设置播放源。例如,如果您要设置一个本地视频文件,可以使用以下代码:

Java:

import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        VideoView videoView = findViewById(R.id.videoView);
        String videoPath = "android.resource://" + getPackageName() + "/" + R.raw.your_video_file;
        Uri uri = Uri.parse(videoPath);
        videoView.setVideoURI(uri);

        MediaController mediaController = new MediaController(this);
        videoView.setMediaController(mediaController);
        mediaController.setAnchorView(videoView);

        videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                videoView.start();
            }
        });
    }
}

Kotlin:

import android.net.Uri
import android.os.Bundle
import android.widget.MediaController
import android.widget.VideoView

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val videoView: VideoView = findViewById(R.id.videoView)
        val videoPath = "android.resource://" + packageName + "/" + R.raw.your_video_file
        val uri = Uri.parse(videoPath)
        videoView.setVideoURI(uri)

        val mediaController = MediaController(this)
        videoView.setMediaController(mediaController)
        mediaController.setAnchorView(videoView)

        videoView.setOnPreparedListener { mp ->
            videoView.start()
        }
    }
}

请将your_video_file替换为您的视频文件名(不包括扩展名)。如果您的视频文件位于res/raw目录下,您可以直接使用文件名。如果不在该目录下,请使用正确的资源ID。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe631AzsIAQ9UAg.html

推荐文章

  • android preference为何无法显示

    Android中的Preference无法显示可能是由于多种原因造成的。以下是一些常见的问题及其解决方法: 确保PreferenceFragmentCompat已正确设置: 使用PreferenceFragm...

  • android preference怎样设置初始值

    在Android中,为Preference设置初始值,您可以在XML布局文件中设置默认值,或者在Java或Kotlin代码中进行设置。以下是两种方法的详细说明: 在XML布局文件中设置...

  • android preference如何实现动态更新

    在Android中,要实现Preference的动态更新,可以通过以下步骤: 创建一个PreferenceFragmentCompat类,继承自PreferenceFragmentCompat,并在其中定义你的Prefer...

  • android preference为何数据不一致

    Android中的Preference数据不一致可能是由于以下几个原因导致的: 数据源问题:确保你从正确的数据源获取数据,例如SharedPreferences、数据库或其他数据存储方式...

  • android videoview如何播放视频

    在Android中,要使用VideoView播放视频,请按照以下步骤操作: 首先,在您的项目的build.gradle文件中添加依赖项(如果尚未添加): dependencies { implementat...

  • java atomicinteger怎样提高代码可读性

    Java中的AtomicInteger是一个线程安全的整数类,它提供了一些原子操作方法,如incrementAndGet()、decrementAndGet()等。要使用AtomicInteger提高代码的可读性,...

  • java atomicinteger如何处理并发冲突

    Java中的AtomicInteger类提供了一种处理并发冲突的方法,它通过使用原子操作来确保在多线程环境下的数据一致性。AtomicInteger是一个线程安全的整数类,它使用了...

  • java atomicinteger怎样保证操作的原子性

    Java中的AtomicInteger类通过使用底层的CAS(Compare-And-Swap)操作来保证原子性。CAS是一种无锁算法,它允许多个线程在并发环境中安全地更新共享变量。AtomicI...