android listview视频item播放也可以全屏播放

仿今日头条和网易实现listview item视频播放以及全屏播放,求大神们给个思路

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android webview全屏播放html5的视频
转载请标明转载处:http://bbs.csdn.net/topics/390839259rnrn本人刚学android,菜鸟一个,第一次写帖子,最近因为项目要用webview加载html5的视频,开始不能全屏播,做了很久才做出来!那按我的理解说下怎么实现全屏吧。rn首先写布局文件activity_main.xml:rnrnrn[code=html]rn rn rn rn [/code]rn原理:实现全屏的时候把webview里的视频放到一个View(布局里的video_view控件)里面,然后把webview隐藏掉!这样就实现了全屏播放的!rn现在具体来看看怎么实现的:rn先放代码MainActivity.java:rn[code=java]public class MainActivity extends Activity rnrn private FrameLayout videoview;// 全屏时视频加载viewrn private Button videolandport;rn private WebView videowebview;rn private Boolean islandport = true;//true表示此时是竖屏,false表示此时横屏。rn private View xCustomView;rn private xWebChromeClient xwebchromeclient;rn private String url = "http://look.appjx.cn/mobile_api.php?mod=news&id=12604";rn private WebChromeClient.CustomViewCallback xCustomViewCallback;rnrn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉应用标题rn getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,rn WindowManager.LayoutParams.FLAG_FULLSCREEN);rn setContentView(R.layout.activity_main);rn initwidget();rn initListener();rn videowebview.loadUrl(url);rn rnrn private void initListener() rn // TODO Auto-generated method stubrn videolandport.setOnClickListener(new Listener());rn rnrn private void initwidget() rn // TODO Auto-generated method stubrn videoview = (FrameLayout) findViewById(R.id.video_view);rn videolandport = (Button) findViewById(R.id.video_landport);rn videowebview = (WebView) findViewById(R.id.video_webview);rn WebSettings ws = videowebview.getSettings();rn /**rn * setAllowFileAccess 启用或禁止WebView访问文件数据 setBlockNetworkImage 是否显示网络图像rn * setBuiltInZoomControls 设置是否支持缩放 setCacheMode 设置缓冲的模式rn * setDefaultFontSize 设置默认的字体大小 setDefaultTextEncodingName 设置在解码时使用的默认编码rn * setFixedFontFamily 设置固定使用的字体 setJavaSciptEnabled 设置是否支持Javascriptrn * setLayoutAlgorithm 设置布局方式 setLightTouchEnabled 设置用鼠标激活被选项rn * setSupportZoom 设置是否支持变焦rn * */rn ws.setBuiltInZoomControls(true);// 隐藏缩放按钮rn ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);// 排版适应屏幕rn ws.setUseWideViewPort(true);// 可任意比例缩放rn ws.setLoadWithOverviewMode(true);// setUseWideViewPort方法设置webview推荐使用的窗口。setLoadWithOverviewMode方法是设置webview加载的页面的模式。rn ws.setSavePassword(true);rn ws.setSaveFormData(true);// 保存表单数据rn ws.setJavaScriptEnabled(true);rn ws.setGeolocationEnabled(true);// 启用地理定位rn ws.setGeolocationDatabasePath("/data/data/org.itri.html5webview/databases/");// 设置定位的数据库路径rn ws.setDomStorageEnabled(true);rn xwebchromeclient = new xWebChromeClient();rn videowebview.setWebChromeClient(xwebchromeclient);rn videowebview.setWebViewClient(new xWebViewClientent());rn rnrn class Listener implements OnClickListener rn @Overridern public void onClick(View v) rn // TODO Auto-generated method stubrn switch (v.getId()) rn case R.id.video_landport:rn if (islandport) rn setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);rn videolandport.setText("全屏不显示该按扭,点击切换横屏");rn else rn setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); rn videolandport.setText("全屏不显示该按扭,点击切换竖屏");rn rn break;rn default:rn break;rn rn rn rn @Overridern public boolean onKeyDown(int keyCode, KeyEvent event) rn if (keyCode == KeyEvent.KEYCODE_BACK) rn if (inCustomView()) rn hideCustomView();rn return true;rn else rn videowebview.loadUrl("about:blank");rn// mTestWebView.loadData("", "text/html; charset=UTF-8", null);rn MainActivity.this.finish();rn Log.i("testwebview", "===>>>2");rn rn rn return true;rn rn /**rn * 判断是否是全屏rn * @returnrn */rn public boolean inCustomView() rn return (xCustomView != null);rn rn /**rn * 全屏时按返加键执行退出全屏方法rn */rn public void hideCustomView() rn xwebchromeclient.onHideCustomView();rn rn /**rn * 处理Javascript的对话框、网站图标、网站标题以及网页加载进度等rn * @authorrn */rn public class xWebChromeClient extends WebChromeClient rn private Bitmap xdefaltvideo;rn private View xprogressvideo;rn @Overridern //播放网络视频时全屏会被调用的方法rn public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback)rn rn if (islandport) rn rn elsern rn// ii = "1";rn// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); rn rn setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); rn videowebview.setVisibility(View.GONE);rn //如果一个视图已经存在,那么立刻终止并新建一个rn if (xCustomView != null) rn callback.onCustomViewHidden();rn return;rn rn videoview.addView(view);rn xCustomView = view;rn xCustomViewCallback = callback;rn videoview.setVisibility(View.VISIBLE);rn rn rn @Overridern //视频播放退出全屏会被调用的rn public void onHideCustomView() rn rn if (xCustomView == null)//不是全屏播放状态rn return; rn // Hide the custom view.rn setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); rn xCustomView.setVisibility(View.GONE);rn rn // Remove the custom view from its container.rn videoview.removeView(xCustomView);rn xCustomView = null;rn videoview.setVisibility(View.GONE);rn xCustomViewCallback.onCustomViewHidden();rn rn videowebview.setVisibility(View.VISIBLE);rn rn //Log.i(LOGTAG, "set it to webVew");rn rn //视频加载添加默认图标rn @Overridern public Bitmap getDefaultVideoPoster() rn //Log.i(LOGTAG, "here in on getDefaultVideoPoster"); rn if (xdefaltvideo == null) rn xdefaltvideo = BitmapFactory.decodeResource(rn getResources(), R.drawable.videoicon);rn rn return xdefaltvideo;rn rn //视频加载时进程loadingrn @Overridern public View getVideoLoadingProgressView() rn //Log.i(LOGTAG, "here in on getVideoLoadingPregressView");rn rn if (xprogressvideo == null) rn LayoutInflater inflater = LayoutInflater.from(MainActivity.this);rn xprogressvideo = inflater.inflate(R.layout.video_loading_progress, null);rn rn return xprogressvideo; rn rn //网页标题rn @Overridern public void onReceivedTitle(WebView view, String title) rn (MainActivity.this).setTitle(title);rn rnrn// @Overridern// //当WebView进度改变时更新窗口进度rn// public void onProgressChanged(WebView view, int newProgress) rn// (MainActivity.this).getWindow().setFeatureInt(Window.FEATURE_PROGRESS, newProgress*100);rn// rn rn /**rn * 处理各种通知、请求等事件rn * @authorrn */rn public class xWebViewClientent extends WebViewClient rn @Overridern public boolean shouldOverrideUrlLoading(WebView view, String url) rn Log.i("webviewtest", "shouldOverrideUrlLoading: "+url);rn return false;rn rn rn /**rn * 当横竖屏切换时会调用该方法rn * @authorrn */rn @Overridern public void onConfigurationChanged(Configuration newConfig) rn Log.i("testwebview", "=====<<< onConfigurationChanged >>>=====");rn super.onConfigurationChanged(newConfig);rn rn if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)rn Log.i("webview", " 现在是横屏1");rn islandport = false;rn else if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)rn Log.i("webview", " 现在是竖屏1");rn islandport = true;rn rn rn[/code]rnrn代码里面我写了好多注释,相信大家都能看得懂,当然本人是菜鸟,可能有些地方理解错了!知道的可以跟我说。然后我在里面加了一个功能,就是点击webview上面按钮切换横竖屏!还有就是当点击全屏播放的时候强制横屏全屏播放,点击返回时回到竖屏!我这里没有用手机重力感应切换横竖屏!代码里面还加了个播放进度的布局文件,大家在源码里可以看到!rn最后说下AndroidManifest.xml设置;rn访问网络权限加上这句rnrn当切换横竖屏时为了不重新调用onCreate等方法,要加个这句:rnandroid:configChanges="orientation|keyboardHidden|screenSize"rn差不多这样就可以实现全屏播放了,如果有看不懂的问题可以问我,rn源码下载地址:http://download.csdn.net/download/ysjyygywfn/7657933
Android listview item高亮显示
根据搜索结果listview控件的item子项关键字高亮显示
Android listview 的item 滑动删除
Android listview 的item 滑动删除
Android listview Item 监听事件
在一个activity上的listview点击item跳转到下一个activity要注意什么问题,我写的程序设置了itemlistener 但是点击item一点反应没有,有可能出现的问题是什么啊???(程序能运行没有错误,但是就是点击item不能跳转没反应)
android listView item 布局
这样的布局是怎么实现的?rn[img=https://img-bbs.csdn.net/upload/201407/31/1406768807_437857.png][/img]
45.Android项目视频_手机影音_设置视频全屏播放和默认播放
手机影音项目是真实的上线项目,本视频在原项目基础上,进行了新技术的更新和优化。该项目包括本地音乐播放、网络音乐播放、本地视频播放、网络直播四大模块,几乎涵盖了市面上视频播放类APP的全部技术。
设置ListView的item可以多选
设置ListView的item可以多选,可设置全选,反选,取消已选
Android中可以用来“播放”视频的View
概述 这里只是总结一下优缺点,不去分析源码。 SurfaceView 重点: SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。 SurfaceView的UI在一个独立的线程中进行绘制,可以不会占用主线程资源。 SurfaceView使用双缓冲机制,播放视频时画面更流畅;(SurfaceView在更新视图时用到了两张 Canvas,一张 frontCanvas 和一张 backC...
Android使用WebView全屏播放网页视频
一、在Androidmanifest.xml中对Activity进行设置 android:hardwareAccelerated=&quot;true&quot; android:configChanges=&quot;orientation|keyboardHidden|navigation|screenSize&quot; android:screenOrientation=&quot;portrait&quot;
Android Listview的item的全选反选问题
很多同学都有遇到这样的问题, 想通过某个按钮进行多个条目的全选和反选问题, 出现最多的问题就是childview复用,很让人头疼, 而结局这个问题的关键就在于操作原始数据;1 实体类public class Bean { public boolean isChecked; public String he = "哈哈"; } 2 全选反选按钮的点击事件 //生成数据
android listview的item的展开与隐藏
实现listview展开与隐藏item的思路: 在item布局里面在写一个布局,使用布局方式根据需要来(如果需要展开的item在点击的item上面,就使用相对布局或者帧布局;如果需要展开的item在点击的item下面,就是线性布局的垂直布局)
Android ListView item 选中高亮显示
Android ListView item 选中高亮显示
android listview item拖动效果
android listview中,实现item拖动的效果,非常经典的例子。感兴趣的,可以根据此例子,来实现gridview item拖动效果
android的listview中item滑动删除
gub上开源项目,listview item 滑动删除
Android ListVIew 拖动Item 删除
android 里listView 拖动子item 删除该项
directshow 视频全屏播放
请大家指点,下面这段代码是视频全屏播放,我把显示模式改为1024*768但是视频播放出来的不1024*768而是800*600rnvoid Playavi(char *szFileName)rnrnIMediaStream *pPrimaryVidStream;rnIDirectDrawMediaStream *pDDStream;rnIDirectDrawStreamSample *pSample;rnDDSURFACEDESC ddsd2;rnLPDIRECTDRAW pDD;rnLPDIRECTDRAWSURFACE pPrimarySurface;rnIMultiMediaStream *pMMStream;rnrnDirectDrawCreate(NULL,&pDD,NULL);rnpDD->SetCooperativeLevel(hWnd, DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN);rnpDD->SetDisplayMode(1024,768,32);rnddsd2.dwSize = sizeof(ddsd2);rnddsd2.dwFlags = DDSD_CAPS;rnddsd2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;rnpDD->CreateSurface(&ddsd2, &pPrimarySurface, NULL);rnCoInitialize(NULL);rnIAMMultiMediaStream *pAMStream;rnCoCreateInstance(CLSID_AMMultiMediaStream, NULL, CLSCTX_INPROC_SERVER, IID_IAMMultiMediaStream, (void **)&pAMStream);rnWCHAR wPath[MAX_PATH];rnMultiByteToWideChar(CP_ACP, 0, szFileName ,-1, wPath, sizeof(wPath)/sizeof(wPath[0]));rnpAMStream->Initialize(STREAMTYPE_READ, AMMSF_NOGRAPHTHREAD, NULL);rnpAMStream->AddMediaStream(pDD, &MSPID_PrimaryVideo, 0, NULL);rnpAMStream->AddMediaStream(NULL, &MSPID_PrimaryAudio, AMMSF_ADDDEFAULTRENDERER, NULL);rnif(FAILED(pAMStream->OpenFile(wPath, 0)))MessageBox (hWnd,"视频文件读取错误!","错误!",MB_OK);exit(1);;rnpMMStream = pAMStream;rnrnif(FAILED(pMMStream->GetMediaStream(MSPID_PrimaryVideo, &pPrimaryVidStream))) MessageBox (hWnd,"视频错误!","错误!",MB_OK);exit(1);;rnif(FAILED(pPrimaryVidStream->QueryInterface(IID_IDirectDrawMediaStream, (void **)&pDDStream))) MessageBox (hWnd,"视频错误!","错误!",MB_OK);exit(1);;rnddsd2.dwSize = sizeof(ddsd2);rnif(FAILED(pDDStream->GetFormat(&ddsd2, NULL, NULL, NULL))) MessageBox (hWnd,"视频错误!","错误!",MB_OK);exit(1);;rnRECT rect;rnrect.top =0;rnrect.left =0;rnrect.bottom = ddsd2.dwHeight;rnrect.right = ddsd2.dwWidth;rn/*如果其改为没有播放出来,rnrect.bottom = 1024;rnrect.right = 768;rnrn而程序是在运行*/rnif(FAILED(pDDStream->CreateSample(pPrimarySurface, &rect, 0, &pSample))) MessageBox (hWnd,"视频错误!","错误!",MB_OK);exit(1);;rnif(FAILED(pMMStream->SetState(STREAMSTATE_RUN))) MessageBox (hWnd,"视频错误!","错误!",MB_OK);exit(1);;rnwhile (pSample->Update(0, NULL, NULL, NULL) == S_OK);rnpMMStream->SetState(STREAMSTATE_STOP);rnrnpMMStream->Release();rnpMMStream=NULL;rnpPrimarySurface->Release();rnpPrimarySurface=NULL;rnpSample->Release();rnpSample=NULL;rnpDDStream->Release();rnpDDStream=NULL;rnpPrimaryVidStream->Release();rnpPrimaryVidStream=NULL;rnpDD->Release();rnpDD=NULL;rnCoUninitialize();rnrnrnrn
Android webView视频切换全屏播放控件
这里整理了下关于Android 使用webView直接加载内含视频的富文本控件,可直接全屏播放。欢迎大家收藏。 注:已处理各版本bug问题。可直接使用。 内含使用步骤。 例子中网页视频路径有问题,可以自行修改webView加载网络富文本进行测试。
Android ListView 高亮显示选中的item
Android ListView 高亮显示选中的item主要思路:在点击事件获取选中的position,然后传给adapter选中的position,然后重绘视图主要代码: 1.activity listveiw点击事件@Override public void onItemClick(AdapterView<?> parent, View view, int position,long
android listview的item动画问题
想实现一个listview的效果,就是listview显示时,item依次从右向左,滑动进入,想问下怎么实现,滑动动画的话好做,但是怎么实现依次进入呢?
android listview item 左右滑动
android listview 左右滑动 实现 滑动删除
android listview item 左右滑动删除
android listview item 左右滑动删除
android listview加载item动画
Android listview动画效果代码库,几乎包含了listview的所有动画效果,如 滑入滑出, 飞入飞出,选中列表项 点击删除后,下面的列表项会有向上push up的动画效果,以及仿iphone 滑动删除列表item项动画效果. 灵活应用该代码,可以在自己的应用中实现非常炫的列表动画效果。
Android—ListView Item 展开动画效果
Android—ListView Item 展开动画效果 最近在做一个关于ListView item的展开效果,类似于 “粮仓” App 的商店页面,点击Item,展开显示子View,类似于ExpandableListView。如图: 其实原理大家都能够猜的到,就是在Adapter里控制子View的显示与隐藏,其实这个东西看起来挺简单的,做起来,还真是费了一点功夫,其中还遇到不少知识点。
android listView点击item,高亮显示
实现listView中选择item高亮的功能,最重要的代码就是adapter.notifyDataSetInvalidated();通知观察者,此条数据不再有效。 其次需要在实现BaseAdapter的类中添加一个方法,纪录选中的item的idpublic void setCurrent(int current) { this.current = curre
Android实现ListView的Item滑动删除
Android 用HorizontalScrollView实现ListView的Item滑动删除
android listview的item侧滑的实现
android listview的item侧滑的实现。android studio工程
Android ListView item点击事件问题!!!!!!
我从a activity跳转到b activity,b activity是一个ListView列表,我现在设置listView的列表item点击事件,在里面执行setResult(RESULT_OK, intent);   finish();操作,回返上一个a activity,但是点击item之后,画面一闪,回到了listVIew的顶部,点了好几次才回返上一个activiy,有时候会出现,有时候
android ListView添加item问题
各位大侠,请问:rn ListView 的 item 包含TestView及ImageView,rn当Button点击时 给ListView setAdapter(自定义adapter) 给listView的每行添加监听事件rn然后获取每行的imageView(以获取到) : imageView.setBackgroundResource(R.drawable.animimage); rnAnimationDrawable anim = (AnimationDrawable) imageView.getBackground(); rnif(!anim.isRunning())rn anim.start(); rnrn结果 ListView Adapter添加上了 但imageView 没有动画效果(确定单独实现imageView动画效果是正常的)。rn在线等,求指教。。。rn
Android ListView 显示item的问题
以下代码是[color=#FF0000]点击按钮后触发的事件[/color]:rn[code=java]rnrnListView listView=(ListView)findViewById(R.id.listView1);rnArrayList> list = new ArrayList>(); rnif(classroom.getTime().toString().contains(timeString)&&rn classroom.getRidgepole()==5-ridgepole_pos&&rn classroom.getFloor()==floor_pos)rn HashMap map = new HashMap();rn map.put("ridgepole", 5-ridgepole_pos+"栋"+floor_pos+"楼");rn map.put("roomNumber", classroom.getRoomNumber());rn list.add(map);rn Log.v("2222", classroom.toString()); rn rnSimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.list,rn new String[]"ridgepole","roomNumber",rn new int[]R.id.textView1,R.id.textView2);rn listView.setAdapter(adapter);rnrn[/code]rn但是[code=java]rnSimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.list,rn new String[]"ridgepole","roomNumber",rn new int[]R.id.textView1,R.id.textView2);rn[/code]老是有问题,求大神解决!
Android ListView的item点击没有反应
如果stu_item.xml里面包括button或者checkbox等控件,默认情况下list的item会失去焦点,导致无法响应item的事件,最常用的解决办法 是在stu_item.xml的布局文件中设置descendantFocusability属性。该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。属性的值有三种: beforeDescendants:
android ListView Item展开效果
android ListView Item点击展开子项效果
android listview item 拖动排序
listview 拖动 item 排序,参照了DragSortListView:可拖动排序的listview DragSortListView:可拖动排序的listview
移动端视频不全屏播放
因为中秋国庆两个节假日,又因为所做工作的业务,这两星期任务繁忙,所以这两星期没有更新内容。 最近因为活动有涉及视频,希望视频播放可以不全屏,这是之前就没有解决的问题,于是我这边查了好多资料。这边不得不说一下,以后百度不到的东西可以去知乎寻找。 当然,不知道是不是只有我现今认识和所处环境不知道这个实现的属性,其实这已经是总所周知的事情,如果是请各位谅解本人的局限性。 阻止视频全屏播放特别简单,三个属...
视频无法全屏播放
请教各位: 在网站页面内,点击某链接,出现一个弹出层,在弹出层内用flowplayer播放器播放视频,视频无法全屏播放。这个问题是无解的吗,有没有解决方案?在单独的页面内可以全屏,在弹出层内播放不能全屏。
Android webview全屏播放HTML video视频.rar
Android webview全屏播放HTML video视频,单击播放后自动全屏显示,测试时的视频格式为mp4,其它通用格式未测试,自己改进吧。本播放功能在手机触屏后显示进度条,是一种比较流行的视频播放器操作形式,在Android中开发播放APP或播放功能的可参考下。
WebView实现视频全屏播放
功能描述 在网页加载中,通常使用小窗口嵌套在网页中播放视频,点击全屏按钮进入全屏播放,再点击返回或小窗口按钮退出全屏。 技术支持 WebView对全屏播放提供了支持。为了支持全屏(视频或HTML内容),需要设置WebChromeClient并实现onShowCustomView(View, WebChromeClient.CustomViewCallback) 和onHideCustom...
手机移动端视频全屏播放(兼容Android与iOS)
在做移动端项目时,做个视频播放是不可避免的,大部分情况下都是点击一个按钮,视频全屏播放,下面将对这个情况进行分析与记录。 html: &amp;lt;video height=&quot;100%&quot; id=&quot;videoPlay1&quot; playsinline preload=&quot;auto&quot; src=&quot;video.mp4&quot; type=&quot;video/mp4&quot; width=&quot;100%&quot; x5-video-
android播放youtobe的视频
我开始用的WebView直接调用的youtube的SWF,不过Flash很多机器上都不行,Adobe也不再开发移动的FlashPlayer了,小弟想改成别的方式,rn比如这种的://指定调用快播播放器rnIntent playIntent = new Intent("QvodPlayer.VIDEO_PLAY_ACTION");rn//设置快播的资源和类型rnplayIntent.setDataAndType(Uri.parse("qvod://537369768|39350310D521D182A6DC7E152DBACC3636045BE2|1010s_《万有引力》.mp4|"), "video/*");rn//设置播放的起始时间,单位为毫秒,如果不设置默认从0的位置开始播放rnplayIntent.putExtra("play_position", 10*60*1000);//设置从10分钟的地方开始播放rn//启动快播android版播放器播放rnstartActivity(playIntent);rnrn里面的参数我应该怎么改啊,或者有其他实现方式也行啊rnrnrn
Android 播放本地视频
转载请说明出处  最近在做公司新产品的设计,想到视频播放效果设计加入到项目应该挺不错的,所以我们想将这个设计理念加入到我们的产品中。 以下是demo [XML] xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.android.com/a
Android播放本地视频
主程序 public class MainActivity extends AppCompatActivity implements View.OnClickListener { private MediaPlayer mediaPlayer = new MediaPlayer(); @Override protected void onCreate(Bundle savedInstanceSt...
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表