温馨提示×

android videoview怎样设置播放源

小樊
84
2024-11-18 20:22:24
栏目: 编程语言

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

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

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

<VideoView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
  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。

0