当前位置:首页 » 安卓系统 » android视频播放器代码

android视频播放器代码

发布时间: 2022-11-03 22:03:49

A. android 如何实现图片视频混合播放啊

直接上代码:

布局文件就是两个全屏的videoview和imageview重叠

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/pictureView"
android:scaleType="fitXY"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>


</LinearLayout>

java部分:

/*
视频图片混合展示demo
*/
packagecom.example.administrator.hunbo;

importandroid.content.Context;
importandroid.media.MediaPlayer;
importandroid.net.Uri;
importandroid.os.Handler;
importandroid.os.storage.StorageManager;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.ImageView;
importandroid.widget.Toast;
importandroid.widget.VideoView;
importjava.io.File;
importjava.lang.reflect.InvocationTargetException;
importjava.lang.reflect.Method;
importjava.util.ArrayList;

{

privateVideoViewvideoView;
privateImageViewpictureView;
booleanisPlaying=false;
privateArrayListarrayList=newArrayList<String>();

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().hide();//隐藏actionBar
//初始化控件
videoView=findViewById(R.id.videoView);
pictureView=findViewById(R.id.pictureView);
//最开始两个view都是隐藏的
videoView.setVisibility(View.GONE);
pictureView.setVisibility(View.GONE);
//检测SD卡是否存在
String[]result=null;
StorageManagerstorageManager=(StorageManager)getSystemService(Context.STORAGE_SERVICE);
try{
Methodmethod=StorageManager.class.getMethod("getVolumePaths");
method.setAccessible(true);
try{
result=(String[])method.invoke(storageManager);
}catch(InvocationTargetExceptione){
e.printStackTrace();
}
if(result.length>1){
//Toast.makeText(this,"检测到U盘",Toast.LENGTH_SHORT).show();
AllFilesPath("/mnt/usb/");
playList();
}else{
Toast.makeText(this,"未检测到U盘,请在开机前插入U盘,或者重新启动此应用",Toast.LENGTH_SHORT).show();
Handlerhandler=newHandler();
handler.postDelayed(newRunnable(){
@Override
publicvoidrun(){
finish();
}
},2500);
}
}catch(Exceptione){
e.printStackTrace();
}
}
//获取所有图片视频的绝对路径到arraylist
privateArrayListAllFilesPath(Stringpath){
Filefile=newFile(path);
File[]files=file.listFiles();
for(Filef:files){
if(f.getName().endsWith("jpg")||f.getName().endsWith("jpeg")||f.getName().endsWith("mp4")
||f.getName().endsWith("avi")||f.getName().endsWith("mkv")||f.getName().endsWith("rmvb")
||f.getName().endsWith("flv")){
System.out.println("------------获取到了一个可用路径:"+f.getAbsolutePath());
arrayList.add(f.getAbsolutePath());//添加到arralist
}elseif(f.isDirectory()){
AllFilesPath(f.getAbsolutePath());
}
}
returnarrayList;
}
//依次混合播放arralist里的图片或视频

publicintlistNum;
privatevoidplayList(){
if(listNum>=arrayList.size()){
finish();
//listNum=0;
}else{
System.out.println("---------------------------收入路径---------------------------");
System.out.println("isplaying="+isPlaying);
finalFilef=newFile(arrayList.get(listNum).toString());
if(f.getName().endsWith("jpg")||f.getName().endsWith("jpeg")||f.getName().endsWith("png")){
System.out.println("---------------------------添加了一张图片:"+f.getAbsolutePath());
pictureView.setVisibility(View.VISIBLE);
pictureView.setImageURI(Uri.fromFile(f));
Handlerhandler=newHandler();
handler.postDelayed(newRunnable(){
@Override
publicvoidrun(){
System.out.println("---------------------------播完了一张位于"+f.getAbsolutePath()+"的图片》》》》》》》》》》》》》》》》》");
pictureView.setVisibility(View.GONE);
listNum++;
playList();
}
},2000);//2秒后结束当前图片
}elseif(f.getName().endsWith("mp4")||f.getName().endsWith("avi")||f.getName().endsWith("mkv")
||f.getName().endsWith("rmvb")||f.getName().endsWith("flv")){
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~添加了一个视频"+f.getAbsolutePath());
videoView.setVideoPath(f.getAbsolutePath());
videoView.setVisibility(View.VISIBLE);//播放之前显示videoView
videoView.start();
videoView.setOnCompletionListener(newMediaPlayer.OnCompletionListener(){
@Override
publicvoidonCompletion(MediaPlayermp){
System.out.println("---------------------------播完了一个位于"+f.getAbsolutePath()+"的视频《《《《《《《《《《《《《《《《《《");
videoView.setVisibility(View.GONE);//视频播放完毕后隐藏videoView
listNum++;
playList();
}
});
}
}
}

B. 基于Android开发一款视频播放器

自己开发播放器,是不是太难了。你可以使用android自带的mediaplayer。

C. android开发中实现点击按钮打开本地视频播放器 求解。

Intent intent = new Intent(android.intent.action.VIEW);
intent.setType("video/*");
startActivity(intent);

D. Android项目视频播放器例子

InputStream is = getResources().openRawResource(R.id.filename);
调用url的地方也要改下 没看到代码 ,你自己改吧,应为用到url的地方是通过访问网络得到的InputStream,这里已经得到了,很好改的,

希望能帮到你!

E. 急求一个测试​Android的手机视频播放系统在线播放功能的URL地址

知道优酷m3u8的可以拼接了将传到播放器里inten的data 拼接一下成为可以播的m3u8设置到setdatasource里面,薯仔的也可以但是要麻烦些要获取缩略图的地址再转成m3u8的。还有更好的方法嘛,直接调javascript
Android平台下SeeJoPlayer视频播放器(功能介绍及源码解析,附源码)
http://www.blogjava.net/zh-weir/archive/2010/01/24/310617.html

F. 用Android studio开发一个手机视频播放器应用,求帮忙,兄弟们,谢谢

手机视频播放的简单实现代码已经上传,电脑打开本界面可下载附件, 但是这个是用eclipse开发的, 可以选择视频音乐进行播放

G. android 中播放视频时总报出 视频无法播放的错误,程序中的异常是 ActivityNotFoundException。

1、是你的视频播放器的代码问题。
2、或者这个视频播放器对Android系统的版本要求,高于你当前的版本号。

H. Android开发一个视频播放器,播放列表中有视频缩略图,文件名,路径,时间,大小,怎么让他们放在一个

这个问题本身不难,你贴一堆代码这么乱怎么看?

要实现这样的功能呢,建议你自定义一个adapter继承自BaseAdapter,然后在getView方法里,
加载一个item布局,这个item布局可以包含imageView,自己写一个就好。
自定义的adapter可以设置数据源,构造方法中可以加上一个list map数据源,
获取到数据源之后传进来,根据position设置好对应数据就好了。

热点内容
gcc编译时做了什么工作 发布:2024-05-12 18:16:10 浏览:985
刀片机服务器ip怎么配置 发布:2024-05-12 04:28:35 浏览:526
存储系列视频 发布:2024-05-12 04:01:27 浏览:148
oracle数据库去重 发布:2024-05-12 04:00:53 浏览:774
配置减肥餐需要哪些条件 发布:2024-05-12 03:56:36 浏览:513
电视节目需要什么配置电脑 发布:2024-05-12 03:51:26 浏览:45
安卓怎么设置不被拦截 发布:2024-05-12 03:51:26 浏览:567
python目录下的文件名 发布:2024-05-12 03:51:02 浏览:104
c语言怎么编译输出满屏的爱心 发布:2024-05-12 03:39:22 浏览:182
androidlistview间距 发布:2024-05-12 03:39:19 浏览:13