android6.0 camera2 录像 MediaRecorder.getsurface 失败 [问题点数:20分]

Bbs1
本版专家分:0
结帖率 0%
Bbs1
本版专家分:0
整合Camera和MediaRecorder实现拍照和录像
https://blog.csdn.net/mChenys/article/details/54743774
MediaRecorder的几个常见坑
一、问题代码private void initRecord() throws IOException { m<em>MediaRecorder</em> = new <em>MediaRecorder</em>(); m<em>MediaRecorder</em>.reset(); if (mCamera != null) m<em>MediaRecorder</em>.setCamera(mCam
MediaRecorder录屏,Socket传输录屏内容报错java.lang.IllegalStateException
用模拟器调试可以运行,用真机测试在 mediaRecorder.prepare();抛异常 ``` package www.xjw.com.mymiracast<em>2</em>.screenrecordservice; import <em>android</em>.app.Notification; import <em>android</em>.app.Service; import <em>android</em>.content.Context; import <em>android</em>.content.Intent; import <em>android</em>.hardware.display.DisplayManager; import <em>android</em>.hardware.display.VirtualDisplay; import <em>android</em>.media.<em>MediaRecorder</em>; import <em>android</em>.media.projection.MediaProjection; import <em>android</em>.media.projection.MediaProjectionManager; import <em>android</em>.os.IBinder; import <em>android</em>.os.ParcelFileDescriptor; import java.net.Socket; /** * Created by dzjin on <em>2</em>018/1/9. */ public class ScreenRecordService extends Service { private int resultCode; private Intent resultData=null; private MediaProjection mediaProjection=null; private <em>MediaRecorder</em> mediaRecorder=null; private VirtualDisplay virtualDisplay=null; private int mScreenWidth; private int mScreenHeight; private int mScreenDensity; private static String filePathName; private Socket receiver = null; private ParcelFileDescriptor pfd = null; private Context context=null; private String host = null; private int port = 8989; @Override public void onCreate() { super.onCreate(); //startForeground(<em>2</em>, new Notification()); } /** * 每次客户端通过调用startService(Intent)显式启动服务时,系统调用startService(Intent), *提供它提供的参数和表示启动请求的唯一整数标记。 * 不要直接调用这个方法。 * @param intent * @param flags * @param startId * @return */ @Override public int onStartCommand(Intent intent, int flags, int startId) { try{ resultCode=intent.getIntExtra("resultCode",-1); resultData=intent.getParcelableExtra("resultData"); mScreenWidth=intent.getIntExtra("mScreenWidth",0); mScreenHeight=intent.getIntExtra("mScreenHeight",0); mScreenDensity=intent.getIntExtra("mScreenDensity",0); filePathName=intent.getStringExtra("filePathName"); host=intent.getStringExtra("host"); port=intent.getIntExtra("port",8989); receiver = new Socket(host, port); pfd = ParcelFileDescriptor .fromSocket(receiver); mediaProjection=createMediaProjection(); mediaRecorder=create<em>MediaRecorder</em>(); virtualDisplay=createVirtualDisplay(); mediaRecorder.start(); }catch (Exception e) { e.printStackTrace(); } /** * START_NOT_STICKY: *从onStartCommand返回的常量(Intent, int, int):如果这个服务的进程是 *在启动时被杀死(从onStartCommand(Intent, int, int)返回后), *没有新的start意图交付给它,然后将服务从 *启动状态,在以后显式调用Context.startService(Intent)之前不要重新创建。 *服务将不会接收带有空意图的onStartCommand(Intent, int, int)调用 *因为如果没有等待交付的意图,它将不会重新启动。 */ return Service.START_NOT_STICKY; } public MediaProjection createMediaProjection(){ /** *使用getSystemService(类)检索MediaProjectionManager实例 *管理媒体放映会议。 */ return ((MediaProjectionManager)getSystemService(Context.MEDIA_PROJECTION_SERVICE)) .getMediaProjection(resultCode,resultData); /** *检索从成功的屏幕捕获请求中获得的MediaProjection。 *如果startActivityForResult()的结果不是RESULT_OK,则*将为null。 */ } private <em>MediaRecorder</em> create<em>MediaRecorder</em>(){ //用于录制音频和视频。录音控制是基于一个简单的状态机。 <em>MediaRecorder</em> mediaRecorder=new <em>MediaRecorder</em>(); //设置要录音的源。 //mediaRecorder.setAudioSource(<em>MediaRecorder</em>. AudioSource.CAMCORDER); //设置要录制的视频源。 mediaRecorder.setVideoSource(<em>MediaRecorder</em>.VideoSource.SURFACE); //设置录制过程中产生的输出的格式。 //3GPP媒体文件格式 mediaRecorder.setOutputFormat(<em>MediaRecorder</em>.OutputFormat.MPEG_<em>2</em>_TS); //设置录音格式 //mediaRecorder.setAudioEncoder(<em>MediaRecorder</em>.AudioEncoder.AMR_NB); //设置<em>录像</em>编码比特率。 //param:以比特/秒为单位的视频编码比特率 mediaRecorder.setVideoEncodingBitRate(5*mScreenWidth*mScreenHeight); //设置<em>录像</em>编码器用于<em>录像</em>。 mediaRecorder.setVideoEncoder(<em>MediaRecorder</em>.VideoEncoder.H<em>2</em>64); //设置要拍摄的视频的宽度和高度。 mediaRecorder.setVideoSize(mScreenWidth,mScreenHeight); //设置要捕获视频的帧速率。 mediaRecorder.setVideoFrameRate(60); try{ mediaRecorder.setOutputFile(pfd.getFileDescriptor()); //mediaRecorder.setOutputFile(filePathName); **此次抛异常** //准备记录器开始捕捉和编码数据。 mediaRecorder.prepare(); }catch (Exception e){ e.printStackTrace(); } return mediaRecorder; } private VirtualDisplay createVirtualDisplay(){ /** *名称字符串:虚拟显示的名称,必须是非空的。这个值不能为空。 width int:虚拟显示的宽度,以像素为单位。必须大于0。 高度int:虚拟显示器的高度,以像素为单位。必须大于0。 dpi int: dpi中虚拟显示的密度。必须大于0。 标志int:虚拟显示标志的组合。有关标志的完整列表,请参见DisplayManager。 surface surface:虚拟显示内容应该呈现到的表面,如果一开始没有,则为null。 回调virtualdisplay。回调:当虚拟显示的状态改变时调用的回调,如果没有,则为空。 处理程序处理程序:应该在其上调用回调的处理程序,如果应该在调用线程的主循环程序上调用回调,则为null。 */ /** * DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR *虚拟显示标志:当没有显示内容时,允许在私有显示上镜像内容。 */ return mediaProjection.createVirtualDisplay("mediaProjection",mScreenWidth,mScreenHeight,mScreenDensity, DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,mediaRecorder.getSurface(),null,null); } @Override public void onDestroy() { super.onDestroy(); if(virtualDisplay!=null){ virtualDisplay.release(); virtualDisplay=null; } if(mediaRecorder!=null){ mediaRecorder.stop(); mediaRecorder=null; } if(mediaProjection!=null){ mediaProjection.stop(); mediaProjection=null; } } @Override public IBinder onBind(Intent intent) { System.out.println("==============================="); return null; } } ``` I/<em>MediaRecorder</em>: enter in file frameworks/av/media/libmedia/mediarecorder.cpp, function prepare, line 461 I/I<em>MediaRecorder</em>: prepare (Bp<em>MediaRecorder</em> client) in file frameworks/av/media/libmedia/I<em>MediaRecorder</em>.cpp, function prepare, line <em>2</em>49 W/com.mymiracast<em>2</em>: type=1400 audit(0.0:10457<em>2</em>): avc: denied { read write } for path="socket:[8870<em>2</em>67]" dev="sockfs" ino=8870<em>2</em>67 scontext=u:r:mediaserver:s0 tcontext=u:r:untrusted_app:s0:c51<em>2</em>,c768 tclass=tcp_socket permissive=0 E/<em>MediaRecorder</em>: prepare failed: -38 W/zygote64: Got a deoptimization request on un-deoptimizable method void <em>android</em>.media.<em>MediaRecorder</em>._prepare() W/System.err: java.lang.IllegalStateException W/System.err: at <em>android</em>.media.<em>MediaRecorder</em>._prepare(Native Method) W/System.err: at <em>android</em>.media.<em>MediaRecorder</em>.prepare(<em>MediaRecorder</em>.java:1017) W/System.err: at www.xjw.com.mymiracast<em>2</em>.screenrecordservice.ScreenRecordService.create<em>MediaRecorder</em>(ScreenRecordService.java:137) W/System.err: at www.xjw.com.mymiracast<em>2</em>.screenrecordservice.ScreenRecordService.onStartCommand(ScreenRecordService.java:79) W/System.err: at <em>android</em>.app.ActivityThread.handleServiceArgs(ActivityThread.java:4151) W/System.err: at <em>android</em>.app.ActivityThread.-wrap<em>2</em>1(Unknown Source:0) W/System.err: at <em>android</em>.app.ActivityThread$H.handleMessage(ActivityThread.java:<em>2</em>119) W/System.err: at <em>android</em>.os.Handler.dispatchMessage(Handler.java:108) W/System.err: at <em>android</em>.os.Looper.loop(Looper.java:166) W/System.err: at <em>android</em>.app.ActivityThread.main(ActivityThread.java:75<em>2</em>9) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.<em>android</em>.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:<em>2</em>45) W/System.err: at com.<em>android</em>.internal.os.ZygoteInit.main(ZygoteInit.java:9<em>2</em>1) E/<em>MediaRecorder</em>: SurfaceMediaSource could not be initialized! W/System.err: java.lang.IllegalStateException: failed to get surface at <em>android</em>.media.<em>MediaRecorder</em>.getSurface(Native Method) W/System.err: at www.xjw.com.mymiracast<em>2</em>.screenrecordservice.ScreenRecordService.createVirtualDisplay(ScreenRecordService.java:160) at www.xjw.com.mymiracast<em>2</em>.screenrecordservice.ScreenRecordService.onStartCommand(ScreenRecordService.java:80) W/System.err: at <em>android</em>.app.ActivityThread.handleServiceArgs(ActivityThread.java:4151) at <em>android</em>.app.ActivityThread.-wrap<em>2</em>1(Unknown Source:0) at <em>android</em>.app.ActivityThread$H.handleMessage(ActivityThread.java:<em>2</em>119) at <em>android</em>.os.Handler.dispatchMessage(Handler.java:108) W/System.err: at <em>android</em>.os.Looper.loop(Looper.java:166) at <em>android</em>.app.ActivityThread.main(ActivityThread.java:75<em>2</em>9) at java.lang.reflect.Method.invoke(Native Method) at com.<em>android</em>.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:<em>2</em>45) W/System.err: at com.<em>android</em>.internal.os.ZygoteInit.main(ZygoteInit.java:9<em>2</em>1) D/StrictMode: StrictMode policy violation; ~duration=7334 ms: <em>android</em>.os.StrictMode$StrictModeNetworkViolation: policy=65543 violation=4 at <em>android</em>.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1466) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:356) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:<em>2</em>01) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:183) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356) at java.net.Socket.connect(Socket.java:616) at java.net.Socket.connect(Socket.java:565) at java.net.Socket.(Socket.java:445) at java.net.Socket.(Socket.java:<em>2</em>17) at www.xjw.com.mymiracast<em>2</em>.screenrecordservice.ScreenRecordService.onStartCommand(ScreenRecordService.java:74) at <em>android</em>.app.ActivityThread.handleServiceArgs(ActivityThread.java:4151) at <em>android</em>.app.ActivityThread.-wrap<em>2</em>1(Unknown Source:0) at <em>android</em>.app.ActivityThread$H.handleMessage(ActivityThread.java:<em>2</em>119) at <em>android</em>.os.Handler.dispatchMessage(Handler.java:108) at <em>android</em>.os.Looper.loop(Looper.java:166) at <em>android</em>.app.ActivityThread.main(ActivityThread.java:75<em>2</em>9) at java.lang.reflect.Method.invoke(Native Method) at com.<em>android</em>.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:<em>2</em>45) at com.<em>android</em>.internal.os.ZygoteInit.main(ZygoteInit.java:9<em>2</em>1) D/StrictMode: StrictMode policy violation; ~duration=733<em>2</em> ms: <em>android</em>.os.StrictMode$StrictModeNetworkViolation: policy=65543 violation=4 ``` ```
简单理解java.lang.IllegalStateException异常
 简单理解java.lang.IllegalStateException异常:简单分析和简单解决方案 我们在做文件上传或者下载,或者过滤等操作时,可能要用到页面的输出流.例如在JSP使用:    response.reset();    response.setContentType(”application/vnd.ms-excel”);    OutputStream os
MediaRecorder创建Surface流程学习
提醒自己以后更新!!
Android基于MediaRecorder的视频录制demo
一个简易的Android视频录制demo,基于<em>MediaRecorder</em>开发,支持参数设置,视频文件编辑及播放,内容比较丰富
Android 开机启动调试,system_process调试
下载,编译,导入,配置 作为开发者,经常会对Debug工程进行调试,Android具有debug签名的应用才可以被调试,如果想调试系统源码呢? 想要调试源码,首先必须要有源码,并且保证设备运行的源码和IED里的源码是同一份. 下载和编译AOSP源码,本人使用的ubuntu LTS 16.04系统, 磁盘剩余空间至少要150G(如果编译时,提示空间不够,可以删掉".repo" 目录), 内存1...
MediaRecorder录制视频,部分手机失败
先说下问题,在使用 <em>MediaRecorder</em> 录制视频时,部分手机正常,部分手机<em>失败</em>,求大神指点。。。 录制视频代码如下: private void init<em>MediaRecorder</em>() { mM
Android 纯原生视频录制 MediaRecorder+SurfaceView 采坑记录
最近因公司需求,在不依赖任何三方依赖的情况下,想到了用<em>MediaRecorder</em>+SurfaceView 来实现视频录制,虽然最后实现了,但是遇到的坑着实是多,如下: 坑1: 视频录制变形或者不清晰问题: 解决方法: 确保parameters.setPreviewSize 和<em>MediaRecorder</em>类的setVideoSize 的尺寸一致,比例一致; 确保 setVideoSi...
实现录像:surface实现MediaRecorder
步骤: 1、定义SurfaceView显示预览 <em>2</em>、在SurfaceHolder的回调中用Camera对象启动预览 3、调用<em>MediaRecorder</em>来<em>录像</em>    实现<em>录像</em>开始和停止功能,顶部显示<em>录像</em>时间 代码如下: 在AndroidManifest.xml添加下面的权限: activity_main.xml<RelativeLayout xmlns:an
Android Studio报错 java.lang.IllegalStateException
package com.example.q97<em>2</em><em>2</em>.biancheng1; import <em>android</em>.media.Image; import <em>android</em>.support.v4.app.Fragment; import <em>android</em>.support.v4.view.ViewPager; import <em>android</em>.support.v7.app.AppCompatActivity; import <em>android</em>.os.Bundle; import <em>android</em>.view.View; import <em>android</em>.view.WindowManager; import <em>android</em>.widget.ImageView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ ViewPager mviewPager; mFragmentAdapter madapter; FragmentOne mone; FragmentTwo mtwo; FragmentThree mthree; List mFragmentList; ImageView[] mimageViews; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar().hide(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); initViews(); madapter = new mFragmentAdapter(getSupportFragmentManager(),mFragmentList); mviewPager.setOffscreenPageLimit(3); mviewPager.setAdapter(madapter); mviewPager.setCurrentItem(0); mimageViews[1].setImageResource(R.drawable.blue_circle); mviewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { for(int i=0;i(); mone = new FragmentOne(); mtwo = new FragmentTwo(); mthree = new FragmentThree(); mFragmentList.add(mone); mFragmentList.add(mtwo); mFragmentList.add(mthree); mimageViews = new ImageView[3]; mimageViews[0] = (ImageView) findViewById(R.id.iv1); mimageViews[1] = (ImageView) findViewById(R.id.iv<em>2</em>); mimageViews[<em>2</em>] = (ImageView) findViewById(R.id.iv3); mimageViews[0].setOnClickListener(this); mimageViews[1].setOnClickListener(this); mimageViews[<em>2</em>].setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.iv1: mviewPager.setCurrentItem(0,true); break; case R.id.iv<em>2</em>: mviewPager.setCurrentItem(1,true); break; case R.id.iv3: mviewPager.setCurrentItem(<em>2</em>,true); break; } } }
MediaRecorder实现简单的录像功能
思路:定义一个SurfaceView用来显示预览,在SurfaceHolder的回调中用Camera对象启动预览,然后调用<em>MediaRecorder</em>来<em>录像</em>。 代码如下: 在AndroidManifest.xml添加下面的权限: activity_main.xml http://schemas.<em>android</em>.com
spacemacs报错Company backend 'xxx' could not be initialized.解决方案
原本是在windows 7上安装的spacemacs。安装GNU Emacs <em>2</em>4.5.1,然后在%HOME%目录下使用.emacs.d、.spacemacs.d、.spacemacs这三个文件/文件夹进行管理配置。平时主要对这三个文件/文件夹进行备份。而之前是可以正常补全的。层下面packages.el的相关配置如下:(defconst wenhao-packages  '(youdao-dic...
Android 使用Camera2 实现拍照录像的功能
职场小白迷上优美句子: 还是电影 《无问西东》中的台词,这句有点感人: 沈光耀的妈妈对沈光耀说:"当初你离家千里,来到这个地方读书,你父亲和我都没有反对过,因为,是我们想你,能享受到人生的乐趣,比如读万卷书行万里路,比如同你喜欢的女孩子结婚生子。注意不是给我增添子孙,而是你自己,能够享受为人父母的乐趣,你一生所要追求的功名利禄,没有什么是你的祖上没经历过的,那些只不过是人生的幻光。我怕,你还...
android6.0 MediaRecorder录像,想通过setOutputFile(sender.getFileDescriptor()),获取流,启动失败
在<em>android</em>6.0上通过<em>MediaRecorder</em>的setOutputFile(sender.getFileDescriptor())获取视频流,结果启动<em>录像</em><em>失败</em>,在<em>android</em>5.1上是可以的
Android Camera2 API和拍照与录像过程
简介: Android 5.0开始出现了新的相机Camera <em>2</em> API,用来替代以前的<em>camera</em> api。 Camera<em>2</em> API不仅提高了<em>android</em>系统的拍照性能,还支持RAW照片输出,还可以设置相机的对焦模式,曝光模式,快门等等。 Camera<em>2</em> 中主要的API类 CameraManager类 : 摄像头管理类,用于检测、打开系统摄像头,通过getCam...
Java 输出格式,怎么令所有的宽度都由一个常量控制?
新手求大神指点 例如: System.out.printf ( " %15s %10.<em>2</em>f \n" ,String1, Float1); 这一句里,String 的输出宽度是 15 , Float1 的输出宽度是 10。 我希望,输出宽度都能够由一个常量控制,类似: int width=9; System.out.printf (" %widths %widthf \n", String1,Float1 ); 这一句 String1 和 Float1 输出的宽度,都是 width。 我知道上面这样写的错的,请大家指点正确的方法,可以用一个常量控制所有的输出宽度,谢谢 : )
在APP当中调用Android系统摄像头进行视频录制
1、获得摄像头Feature和写文件的权限 <em>2</em>、创建一个文件用来保存得到的视频 /** * 创建保存录制得到的视频文件 * * @return
MediaRecorder+camera录制视频
前言 本篇介绍使用Android 中视频录制,录制工具是: <em>MediaRecorder</em> : 视频编码封装 <em>camera</em> : 视频画面原始数据采集 TextureView : 提供预览画面 <em>MediaRecorder</em>基本api介绍 <em>MediaRecorder</em>是<em>android</em>中面向应用层的封装,用于提供便捷的音视频编码封装操作,在使用的过程中要严格按照官方指定的生命周期调用顺序,即下图...
android 录屏报错:Failure delivering result ResultInfo{who=null, request=101, result=-1
Android <em>MediaRecorder</em> 录屏 Failure delivering result ResultInfo
完美解决:Could not open the editor: Editor could not be initialized
Zend Studio for Eclipse不能打开文件经常有时候会出现工程里的某一个文件打不开,总是出现:Could not open the editor: Editor could not be initialized.的提示信息。产生原因:听说是由于文件外部修改导致,参考说法如下:Could not open the editor: Editor could not be ini
关于android Could not lock surface问题
公司最近在做一个项目,基于全志A<em>2</em>0系统,属于<em>android</em>低端机   在工业应用当中,经常会使用到io流输出输入。读取开发板上面高低电频   在这里会使用到jni   大家知道,c语言跟java体系不同,jni调用的c语言出错,java层是无法捕获出错信息,也无法消除错误   假设是纯c语言,直接调用exit(0)函数,然后自启,整个过程不会超过0.1秒,但在<em>android</em>中,c语言出错
求MediaCodec.createInputSurface视频编码dequeueOutputBuffer返回-1问题
输入是: surface=MediaCodec.createInputSurface; canvas=surface.lockCanvas(...); canvas.drawBitmap(bitmap
MediaRecorder官方文档导读
无论什么语言,官方文档和源码是最好的资料,一如既往的,先看官方文档,之后看源码。如题,主要看<em>MediaRecorder</em>。还是翻译和自己理解的方式呈现,如果有不对之处,还望指出。 <em>MediaRecorder</em> 嵌套类 <em>MediaRecorder</em>AudioEncoder <em>MediaRecorder</em>AudioSource <em>MediaRecorder</em>VideoEncoder <em>MediaRecorder</em>Vide
Android MediaProjection学习(二)之和MediaRecorder实现录屏
预备知识 Andriod MediaProjection学习(一)之实现屏幕截图 通过预备知识我们应该知道MediaProjection的相关方法和知识。在屏幕截图里我们用了ImageReader来获取截图,而在这一节中我们通过另外一个工具<em>MediaRecorder</em>来获取屏幕的视频。 <em>MediaRecorder</em> Google官方文档:官方文档 Used to record audio and v...
Android studio启动虚拟机报错
报这个错误: Emulator: ERROR: resizing partition e<em>2</em>fsck failed with exit code 8。 按照在网上搜的解决方法减小RAM的大小没有用,而且虚拟机开启后也有问题。![![图片说明](https://img-ask.csdn.net/upload/<em>2</em>01711/<em>2</em><em>2</em>/1511339853_65484<em>2</em>.jpg)图片说明](https://img-ask.csdn.net/upload/<em>2</em>01711/<em>2</em><em>2</em>/1511339845_485354.jpg)
使用MediaProjection和MediaRecorder实现屏幕录制
一、实现的效果 这个Demo主要是实现Android手机屏幕录制的功能,可以实现视频、音频的录制,可以选取录制视频的效果,是否开启音频录制。截图如下: 点击START按钮开始屏幕录制,这里还可以选择标清或高清视频,是否开启音频录制等;点击STOP按钮结束录制。 二、代码分析 整个Demo比较简单,只有两个类:一个是应用程序入口MainActivity,一个是具体实现录制功能
为什么在java中创建java.lang.Class 类的实例会报错
public class Test { public static void main(String[] args) throws Exception{ Class class= Class.forName(""); } } 这是我的代码,报的错是Class不能解析为变量,由谁知道是什么原因吗。
MediaRecorder手机录屏,部分手机失败报错
0<em>2</em>-<em>2</em>5 03:50:35.0<em>2</em>1 3694 3694 D StatusBar: disable disable<em>2</em> 0<em>2</em>-<em>2</em>5 03:50:3
android MediaRecorder的简单应用-录像
之前用<em>MediaRecorder</em>类实现了简单的录音demo,它还有<em>录像</em>功能,如下是一个简单的<em>录像</em>实现过程, 实现步骤跟录音录音大致一样,在此温习一遍: 第一步:实例化对象:mRecord = new <em>MediaRecorder</em>(); 第二步:设置输入源: 1、音频输入源:mRecord.setAudioSource(<em>MediaRecorder</em>.AudioSource.MIC);
MediaRecorder.VideoSource.SURFACE怎么那用
5.0以上API里面得 <em>MediaRecorder</em>.VideoSource.SURFACE怎么用,SURFACE怎么设定,谁能给段代码么
Android Camera2 模块解析之视频录制
转载: https://www.jianshu.com/p/779c3dc775e9 拍照和录制视频的前期功能都是类似的,在拍照之前会有<em>camera</em> preview功能,录制视频之前也是有这个功能的,唯一的不同就是抓取的数据不同,拍照抓取的是image,视频抓取的video,数据组织格式不一样。 录制视频主要是调用了CameraDevice与CameraCaptureSession来录制视频,使用...
android Camera2 录像 TextureView 异常 困扰两天了 求大佬指点
异常 java.lang.IllegalStateException: failed to get surface at <em>android</em>.media.<em>MediaRecorder</em>.getSurface(
java.lang.IllegalStateException
大神,求解,为什么会报这种错误java.lang.IllegalStateException: Fragment already added @Override public Object instantiateItem(ViewGroup container, int position) { // System.out.println("instantiateItem..............."); // 得到缓存的fragment Fragment fragment = (Fragment) super.instantiateItem(container, position); // 得到tag String fragmentTag = fragment.getTag(); if (fragmentFlags.get(position % fragmentFlags.size())) { System.out.println("进入instantiateItem该方法了"); FragmentTransaction beginTransaction = fm.beginTransaction(); // 移除旧的fragment beginTransaction.remove(fragment); // 换成新的fragment fragment = mFragments.get(position); // 添加新fragment时必须用前面获得的tag beginTransaction.add(container.getId(), fragment, fragmentTag); beginTransaction.attach(fragment); beginTransaction.commit(); //复位更新标志 fragmentFlags.set(position, false); } return fragment; } 这个是和viwewpagerindicator同时使用的,就像网易和今日头条的标题一样,可以编辑标题,当标题的顺序发生变化,对应的fragment也要发生变化,但是执行完代码就报了这个异常,求大神解决。
Android6.0 init.rc中创建符号链接失败问题
Android6.0直接在init.rc创建符号链接问题<em>失败</em>,说明Android6.0对权限控制更加严格了。 看看我们一开始在init.rc中的修改: on init # See storage config details at http://source.<em>android</em>.com/tech/storage/ symlink /storage/self/primary /mn
使用mediaRecorder录像的小坑
之前写好的工具类,直接封装好了,代码如下: package jun.yuanlai; import <em>android</em>.content.Context; import <em>android</em>.hardware.Camera; import <em>android</em>.media.CamcorderProfile; import <em>android</em>.media.<em>MediaRecorder</em>; import <em>android</em>.o
Android java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader报错解决方法大全
错误分析 这个错误是so库加载问题,报错一般以 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader开头。一般是程序在运行过程中调用System.loadLibrary(“xxxxxxxx”);是无法找到libxxxxxx.so文件导致的报错。针对这个错误我们可以一边排查一边来解决。 问题分析和解决 1.查看so库是不是已经在编...
Camera2的简单使用
整个流程梳理 1 初始化CameraManager对象 CameraManager对象是相机调用的发起对象, CameraManager <em>camera</em>Manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); 通过此对象可以拿到可用的设备id,和设备id对应的一系列属性等。 <em>2</em> 初始化CameraCharacteris...
java.lang.IllegalStateException: eglMakeCurrent failed EGL_BAD_ALLOC
java.lang.IllegalStateException: eglMakeCurrent failed EGL_BAD_ALLOC at <em>android</em>.view.HardwareRenderer$GlRenderer.createSurface(HardwareRenderer.java:11<em>2</em>0) at <em>android</em>.view.HardwareRenderer$GlRenderer.createEglSurface(HardwareRenderer.java:1007) at <em>android</em>.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:830) at <em>android</em>.view.ViewRootImpl.performTraversals(ViewRootImpl.java:178<em>2</em>) at <em>android</em>.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1<em>2</em>04) at <em>android</em>.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4951) at <em>android</em>.view.Choreographer$CallbackRecord.run(Choreographer.java:776) at <em>android</em>.view.Choreographer.doCallbacks(Choreographer.java:579) at <em>android</em>.view.Choreographer.doFrame(Choreographer.java:548) at <em>android</em>.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:76<em>2</em>) at <em>android</em>.os.Handler.handleCallback(Handler.java:7<em>2</em>5) at <em>android</em>.os.Handler.dispatchMessage(Handler.java:9<em>2</em>) at <em>android</em>.os.Looper.loop(Looper.java:153) at <em>android</em>.app.ActivityThread.main(ActivityThread.java:5349) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.<em>android</em>.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:848) at com.<em>android</em>.internal.os.ZygoteInit.main(ZygoteInit.java:615) at dalvik.system.NativeStart.main(Native Method) 这种异常无从下手,各位高手请指教
关于 java.lang.IllegalStateException: Fragment already added 解决方式
前言  最近发现项目中出现这个bug,很频繁。网上查找了几种解决方案,效果不是太理想,现就将使用修改方案一一列出来 背景  项目底部四个tab页面切换导致,tab切换方案是,将四个Fragment添加到一个Activity中进行管理动态hidden(),show(),add()。 异常: java.lang.IllegalStateException: Fragment alre
Camera2常用
Camera<em>2</em>常用类说明 文章目录Camera<em>2</em>常用类说明Camera<em>2</em> 相关类Camera<em>2</em> 相关方法CameraDeviceCameraCaptureSessionCameraCharacteristicsCamera<em>2</em>相关参数 Camera<em>2</em> 相关类 //CameraDevice类是连接到Android设备的单个摄像头的表示,允许以高帧速率对图像捕获和后处理进行细粒度控制 CameraDev...
Android录屏,通过MediaProjection与MediaRecorder,最简单的实现方式
一、获取MediaProjectionManager,请求录制权限 private MediaProjectionManager mediaProjectionManager; private void getRecordPermission() { if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.LOLLIPOP) { ...
IntelliJ IDEA之LombokProcessor could not be initialized问题
问题发现 IntelliJ IDEA+JDK10+Lombok16出现以下问题:lombok.javac.apt.LombokProcessor could not be initialized Warning:(9, 8) java: lombok.javac.apt.LombokProcessor could not be initialized. Lombok will not run ...
android使用mediaPlayer显示视频时,抛出java.lang.IllegalStateException异常
使用Mediaplayer播放视频时,自定义了进度条显示进度,一次需要使用run方法来实时监测视频播放的位置,代码如下:Runnable runnable = new Runnable() { @Override public void run() { if (player != null) { int pos = player.getCurrentPosition(); if (pos
Junit4测试报错:java.lang.IllegalStateException: Failed to load ApplicationContext
环境:myeclipse8.5  报错: 解决java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:308) at org.springf
Android警告错误搜集
IDE Android Studio提示: 500.Gradle version <em>2</em>.<em>2</em> is required. Current version is <em>2</em>.10. If using the gradle wrapper, try editing the distributionUrl in /home/sanjeewa/workspace/Android/UVCCamera/gradle/w...
Caused By:java.lang.ClassNotFoundException:com.ibm.db2.jcc.DB2Connection
问题背景:中间件采用weblogic,采用db<em>2</em>数据库,项目启动时一直报这个错,导致服务起不来 问题分析:一般出现这种问题都是因为jar包找不到或者jar包冲突或者加载先后顺序,不过具体问题还是具体分析吧, 解决办法:(1)在weblogic配置的域找到bin目录,找到setDomainEnv.cmd脚本,进行编辑,先找到 set SERVER_CLASS=weblogic.Server,在...
Android录屏的三种方案
本文总结三种用于安卓录屏的解决方案: 1. adb shell命令screenrecord <em>2</em>. <em>MediaRecorder</em>, MediaProjection 3. MediaProjection , MediaCodec和MediaMuxerscreenrecord命令 screenrecord是一个shell命令,支持Android4.4(API level 19)以上,录制的视频格式
安卓使用surfaceview+Camera+MediaRecorder实现视频录制
录制视频代码:public class RecordVideoActivity extends Activity implements SurfaceHolder.Callback { private static final String TAG = "MainActivity"; private SurfaceView mSurfaceview; private Imag
Android 在MediaRecorder中碰到的几个常见的问题
1、录制视频时,视频旋转了90度,添加下面代码解决问题; <em>2</em>、录制完的视频手机上播放旋转了90度,添加下面代码解决问题; 3、手机上播放没问题了,但是移到电脑上播放,视频还是旋转了90度;我的是这样改的:
Android 中MediaRecorder+SurfaceView 录制视频的时图像变形
项目需要一个能录制十分钟左右自动停止的功能,找SDK发现满足不了需求,没办法就自己写了 基本都写完了,但是在录制的时候图像会拉伸变形,查了好多资料一直也没有一个好办法,现在 我解决了预览变形的,下面不知道怎么弄了,请教那位大神帮助一下 <em>MediaRecorder</em>配置类 if (!isRecorder && m<em>MediaRecorder</em> == null) { m<em>MediaRecorder</em> = new <em>MediaRecorder</em>(); try { m<em>MediaRecorder</em>.setCamera(mCamera); // 设置从摄像头采集图像 m<em>MediaRecorder</em>.setVideoSource(<em>MediaRecorder</em>.VideoSource.CAMERA); // 设置从麦克风采集声音(或来自<em>录像</em>机的声音AudioSource.CAMCORDER) m<em>MediaRecorder</em>.setAudioSource(<em>MediaRecorder</em>.AudioSource.MIC); // 设置视频文件的输出格式 // 必须在设置声音编码格式、图像编码格式之前设置 m<em>MediaRecorder</em>.setOutputFormat(<em>MediaRecorder</em>.OutputFormat.MPEG_4); // m<em>MediaRecorder</em>.setMaxDuration(1000); // 设置图像编码的格式 m<em>MediaRecorder</em>.setVideoEncoder(<em>MediaRecorder</em>.VideoEncoder.H<em>2</em>64); //m<em>MediaRecorder</em>.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); //Use myVideoSize from above m<em>MediaRecorder</em>.setVideoSize(3<em>2</em>0, <em>2</em>40); // 设置声音编码的格式 m<em>MediaRecorder</em>.setAudioEncoder(<em>MediaRecorder</em>.AudioEncoder.AAC); // m<em>MediaRecorder</em>.setOrientationHint(180);// 输出旋转90度,保持竖屏录制 /* * m<em>MediaRecorder</em>.setAudioChannels(1);//1单声道 <em>2</em> 多声道 * m<em>MediaRecorder</em>.setAudioSamplingRate(1<em>2</em>500); * //设置录制的音频采样率——频率越高,音质越好 * m<em>MediaRecorder</em>.setAudioEncodingBitRate(16); // 设置录制的音频编码比特率 */ // m<em>MediaRecorder</em>.setOrientationHint(180);// 输出旋转90度,保持竖屏录制 // 每秒 4帧 m<em>MediaRecorder</em>.setVideoFrameRate(30); m<em>MediaRecorder</em>.setVideoEncodingBitRate(10 * 10<em>2</em>4 * 10<em>2</em>4); // 文件输出路劲 m<em>MediaRecorder</em>.setOutputFile(mVecordFile.getAbsolutePath()); m<em>MediaRecorder</em>.setPreviewDisplay(mHolder.getSurface()); m<em>MediaRecorder</em>.prepare(); // mCamera.startPreview(); m<em>MediaRecorder</em>.start(); } 设置照相机 if (mCamera != null) { freeCameraResource(); } try { mCamera = Camera.open(); if(mCamera != null && isOpenCamera) setCameraParams(); mCamera.startPreview(); mCamera.setDisplayOrientation(0); mCamera.setPreviewDisplay(mHolder); mCamera.unlock(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 设置照相机 private void setCameraParams() { // TODO Auto-generated method stub if (mCamera != null) { params = mCamera.getParameters(); WindowManager manager = (WindowManager) VideotTranscribe.this.getSystemService(VideotTranscribe.this.WINDOW_SERVICE); Display display = manager.getDefaultDisplay(); // Point screenResolution = new Point(display.getWidth(), display.getHeight()); //Point p = getBestCameraResolution(params, screenResolution); params.setPreviewSize(display.getWidth(),display.getHeight());//防止录制预览图像变形 mCamera.setParameters(params); params = mCamera.getParameters(); } 跪求大神指导
MediaCodec文档翻译
前言之前我们所学习的音视频编解码全都是通过Android已经封装好的<em>MediaRecorder</em>实现的,以后真正在工作中我们很少使用<em>MediaRecorder</em>实现音视频的录制;因为我们接触不了音视频的原始数据,不能对它进行二次处理,比如美颜相机;如今直播的兴起,我们通过直播视频可以看到每一个直播女;我为什么不说直播美女呢!!!原因是我们所看到的视频并不是她们的真是面目;而是经过二次处理后的,我们所看到
录制视频(Surfaceview+MediaRecorder)
这个是自己写的录制视频,为了简单,全写在一个Activity中,可以切换照相机,没有带聚焦,需要聚焦自己写个OnTouch即可。在我的测试机上跑起来畅通无阻,我只有3个测试机。如果你使用了我的有问题可以告诉我。这个demo比网上什么的写死<em>录像</em>尺寸强多了,全部自匹配尺寸。如果你的跑不起可以第一时间检测这个尺寸设置。我的思路是获取手机屏幕尺寸,等到高/宽的比 比如1<em>2</em>80/7<em>2</em>0 或者19<em>2</em>0/10
Win10安装teamview出现rollback framework could not be initialized问题
详见rollback framework could not be initialized, 在安装team viewer 的时候出现的这个错误信息,求大师帮忙 具体来说: 用管理员账户安装就可以了。 首先,打开具有管理员权限的命令行窗口 方法如下: (1)单击开始按钮; (<em>2</em>)在搜索框中输入“cmd”; 右键单击cmd选run as administrato
踩完百度首页坑,亲测可用android录像,mediaRecord
本人两部手机5.1和6.0系统,亲测可用~~~~花了几个小时踩坑,希望大家少走弯路 先上权限,记住开权限
调用相机camera.open失败Fail to connect to camera service
权限有了 ``` ``` ``` @Override public void surfaceCreated(SurfaceHolder holder) { if (!hasSurface) { hasSurface = true; initCamera(holder); } } @Override public void surfaceDestroyed(SurfaceHolder holder) { hasSurface = false; if (<em>camera</em> != null) { if (CameraManager.get().isPreviewing()) { if (!CameraManager.get().isUseOneShotPreviewCallback()) { <em>camera</em>.setPreviewCallback(null); } <em>camera</em>.stopPreview(); <em>camera</em>.release(); <em>camera</em> = null; CameraManager.get().getPreviewCallback().setHandler(null, 0); CameraManager.get().getAutoFocusCallback().setHandler(null, 0); CameraManager.get().setPreviewing(false); } } } private void initCamera(SurfaceHolder surfaceHolder) { try { //6.0+调用相机权限 if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions((Activity) getContext(), new String[]{Manifest.permission.CAMERA}, TAKE_PHOTO_REQUEST_CODE); }else { <em>camera</em> = Camera.open(); parameter = <em>camera</em>.getParameters(); CameraManager.get().openDriver(surfaceHolder); <em>camera</em> = CameraManager.get().getCamera(); <em>camera</em>.startPreview(); } } catch (IOException | RuntimeException e) { L.e(e.getMessage()); return; } if (handler == null) { handler = new CaptureActivityHandler(this, decodeFormats, characterSet, viewfinderView); } } ``` 请问少了什么,为什么会<em>失败</em>? 在6.0上测试没问题,换了红米<em>2</em>A 4.4的系统就不行了。 求解 谢谢~
错误提示:Jad file could not be initialized 这个问题怎么解决
platform: Java 1.6 IDE:eclipse 3.5 + eclipseme 1.9 + S60 SDK 5th 问题:Jad file could not be initialize
解决Failed to get convolution algorithm. cudnn failed to initialize...
CuDNN library compatibility error after loading model weights服务器环境错误原因如解决方案 服务器环境 Ubuntu16.04、cuda9.0、cudnn7.0、tensorflow1.1<em>2</em>.0、python3.5、1080ti 错误 Failed to get convolution algorithm. cudnn failed to...
在中国程序员是青春饭吗?
今年,我也3<em>2</em>了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 1<em>2</em>, Java 13, 到<em>2</em>0<em>2</em>0年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月<em>2</em>日,阿里巴巴发布《达摩院<em>2</em>0<em>2</em>0十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
Python+OpenCV实时图像处理
目录 1、导入库文件 <em>2</em>、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.<em>2</em>、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘1<em>2</em>08<em>2</em>7人。 其中 beijing <em>2</em><em>2</em>805 guangzhou <em>2</em>5081 shanghai 39614 shenzhen 333<em>2</em>7 工资分布 <em>2</em>0<em>2</em>0年中国一线城市程序员的平均工资为16<em>2</em>85元,工资中位数为14583元,其中95%的人的工资位于5000到<em>2</em>0000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
<em>2</em>019年就这么匆匆过去了,就在前几天国家电影局发布了<em>2</em>019年中国电影市场数据,数据显示去年总票房为64<em>2</em>.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.<em>2</em>7亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这3<em>2</em>个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是<em>2</em>0<em>2</em>0 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!<em>2</em>0<em>2</em>0年<em>2</em>月11-1<em>2</em>日,“养在深闺人不知”的华为<em>2</em>01<em>2</em>实验室扫地僧们,将在华为开发者大会<em>2</em>0<em>2</em>0(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业<em>失败</em>,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,<em>2</em>1岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过18<em>2</em>5天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和<em>2</em>0位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
​两年前不知如何编写代码的我,现在是一名人工智能工程师
全文共35<em>2</em>6字,预计学习时长11分钟 图源:Unsplash 经常有小伙伴私信给小芯,我没有编程基础,不会写代码,如何进入AI行业呢?还能赶上AI浪潮吗? 任何时候努力都不算晚。 下面,小芯就给大家讲一个朋友的真实故事,希望能给那些处于迷茫与徘徊中的小伙伴们一丝启发。(下文以第一人称叙述) 图源:Unsplash 正如Elsa所说,职业转换是...
强烈推荐10本程序员必读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
作为一个程序员,内存的这些硬核知识你必须懂!
我们之前讲过CPU,也说了CPU和内存的那点事儿,今天咱就再来说说有关内存,作为一个程序员,你必须要懂的哪那些硬核知识! 大白话聊一聊,很重要! 先来大白话的跟大家聊一聊,我们这里说的内存啊,其实就是说的我们电脑里面的内存条,所以嘞,内存就是内存条,数据要放在这上面才能被cpu读取从而做运算,还有硬盘,就是电脑中的C盘啥的,一个程序需要运行的话需要向内存申请一块独立的内存空间,这个程序本身是存放在...
Python切图下载
快速利用python切割图片,比ps要方便很多,可用记事本打开编辑 相关下载链接:[url=//download.csdn.net/download/sherlock_hz/9340541?utm_source=bbsseo]//download.csdn.net/download/sherlock_hz/9340541?utm_source=bbsseo[/url]
dotnetCHARTING 4.3 ASP.NET for VS2005 破解下载
2007-06-08发布的最新版<br/>dotnetCHARTING 4.3 ASP.NET for VS2005。<br/><br/>具体版本号 4.3.2715.20647 相关下载链接:[url=//download.csdn.net/download/allisnew/192261?utm_source=bbsseo]//download.csdn.net/download/allisnew/192261?utm_source=bbsseo[/url]
svn在windows下的安装及其软件源下载
改压缩包:包含了svn在windows下的安装说明及其安装所需要的软件源。说明文件图文并茂!这些都是我自己安装及使用心得。 相关下载链接:[url=//download.csdn.net/download/houniaofei/3138439?utm_source=bbsseo]//download.csdn.net/download/houniaofei/3138439?utm_source=bbsseo[/url]
我们是很有底线的