android如何播放assets中的视频文件

qq_35778853 2016-12-30 04:53:20
public class VideoActivity extends ActionBarActivity {

private VideoView mVideoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);

MediaController mController = new MediaController(this);
mVideoView = (VideoView) findViewById(R.id.mVideoView);
mVideoView.setMediaController(mController);
mController.setMediaPlayer(mVideoView);
mVideoView.requestFocus();

//获取AssetManager对象
AssetManager am = getAssets();
// 打开指定文件,获取assets目录下指定文件的AssetFileDescriptor对象
AssetFileDescriptor afd = null;
try {
afd = am.openFd("");
//下面不知怎么写了,求助
} catch (IOException e) {
e.printStackTrace();
}

}
}
...全文
1822 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤独的冥王星 2017-05-25
  • 打赏
  • 举报
回复
如果是指定视频 则可以直接写绝对路径file:///android_asset/文件名,然后videoView.setVideoPath(filepath);
网络咖啡 2017-05-25
  • 打赏
  • 举报
回复
videoView = (VideoView)findViewById(R.id.videoView); //设置视频路径 videoView.setVideoURI(Uri.parse(videoUrl)); //开始播放视频 videoView.start(); 使用VideoView可以直接播放assets里面的文件的
信息就是力量 2017-05-24
  • 打赏
  • 举报
回复
videoView.start();
信息就是力量 2017-05-24
  • 打赏
  • 举报
回复
/**
	 * 
	 * @param videoView
	 *            mvideoView
	 * @param mp4filename
	 *            myvideo.mp4
	 */
	void playAssetsVideo(Context context, VideoView videoView, String mp4filename) {
		try {
			String filepath = Environment.getExternalStorageDirectory().getPath() + "/"
					+ getResources().getString(R.string.app_name) + "/" + mp4filename;
			copyFilesFassets(MainActivity.this, mp4filename, filepath);
			InputStream is = context.getAssets().open(mp4filename);
			FileOutputStream fos = new FileOutputStream(new File(filepath));
			byte[] buffer = new byte[1024];
			int byteCount = 0;
			while ((byteCount = is.read(buffer)) != -1) {
				fos.write(buffer, 0, byteCount);
			}
			fos.flush();
			is.close();
			fos.close();
			videoView.setVideoPath(filepath);
			videoView.setMediaController(new MediaController(MainActivity.this));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
qq_34772386 2016-12-30
  • 打赏
  • 举报
回复
我也不知道,同问!!!
怀君 2016-12-30
  • 打赏
  • 举报
回复
百度啊 啊啊啊啊

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧