在Android中,要设置VideoView的播放源,您可以使用以下方法:
在XML布局文件中,添加VideoView控件并设置其属性。例如:
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
在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。