MediaRecorder录制视频,部分手机失败 [问题点数:40分]

Bbs2
本版专家分:138
结帖率 25%
Bbs5
本版专家分:2794
Bbs2
本版专家分:282
Bbs2
本版专家分:138
Bbs3
本版专家分:519
Bbs2
本版专家分:138
Bbs5
本版专家分:2794
Bbs2
本版专家分:138
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Android MediaRecorder录制视频提示start failed的解决办法
今天测试<em>MediaRecorder</em><em>录制</em>功能的时候出现一个蛋疼的BUG,按照官方提供的示例写好之后,start居然报错,打印日志一看说:start failed。 代码如下: mCamera = Camera.open(0); surfaceView = new SurfaceView(this); setContentView(surfaceView);
录像时调用MediaRecorder的start()时发生start failed: -19错误
代码基本上按照Android的Camera写的,当执行start()中的myVideoRecorder.start()时发生如标题所示的错误,请问错误是怎么产生的,如何修改?代码如下: private
音频的两种录制方式-AudioRecord,MediaRecorder的使用及播放
AudioRecord和<em>MediaRecorder</em>两种都可以<em>录制</em>音频,<em>MediaRecorder</em>已实现大量的封装,操作起来更加简单,而AudioRecord使用起来更加灵活,能实现更多的功能。1.AudioRecord: 优点:可以实现语音的实时处理,进行边录边播,对音频的实时处理。 缺点:输出的是PCM的语音数据,如果保存成音频文件是不能被播放器播放的。要用到AudioTrack这个去进行处理
快乐的采坑之旅——Failed to initialize OMX.qcom.video.encoder.avc, error 0xfffffff4
报错代码: 报错原因:MediaCodec的实例存在上限,且不同的设备上限数量不同,如果多次创建实例却没有主动释放相关资源就会报错 解决办法:在合适的时机处调用,我是在onDestroy里面调用的。 ...
android setAudioSource failed
android  setAudioSource failed  (2011-05-20 17:14:52) 转载▼ 标签:  杂谈 分类: android 录音的步骤:         mRecAudioPath=Environment.getExternalStorageDirectory();
在android中同时调用多个麦克风报错:android.media.MediaRecorder.start(Native Method)
1.问题描述:在android中同时调用多个麦克风报错: 报错位置mr2.strat():第二个麦克风启动操作时报错。 报错内容: **android.media.<em>MediaRecorder</em>.start(Native Method)** 代码如下: ![图片说明](https://img-ask.csdn.net/upload/201905/15/1557913924_439814.png) ![图片说明](https://img-ask.csdn.net/upload/201905/15/1557914045_94388.png) 录音权限和存储权限已授予。 ``` private void startRecord(){ if(mr == null){ File dir = new File(Environment.getExternalStorageDirectory(),"sounds"); if(!dir.exists()){ dir.mkdirs(); } String filename = string1.getText().toString(); SimpleDateFormat df = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");//设置日期格式 File soundFile = new File(dir,filename+df.format(new Date())+"_MIC"+".amr"); File soundFile2 = new File(dir,filename+df.format(new Date())+"_VOICE_COMMUNICATION"+".amr"); if(!soundFile.exists()){ try { soundFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } if(!soundFile2.exists()){ try { soundFile2.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } mr = new <em>MediaRecorder</em>(); mr.setAudioSource(<em>MediaRecorder</em>.AudioSource.DEFAULT); mr.setOutputFormat(<em>MediaRecorder</em>.OutputFormat.AMR_WB); //设置输出格式 mr.setAudioEncoder(<em>MediaRecorder</em>.AudioEncoder.AMR_WB); //设置编码格式 mr.setOutputFile(soundFile.getAbsolutePath()); mr2 = new <em>MediaRecorder</em>(); mr2.setAudioSource(<em>MediaRecorder</em>.AudioSource.VOICE_COMMUNICATION); //音频输入源 mr2.setOutputFormat(<em>MediaRecorder</em>.OutputFormat.AMR_WB); mr2.setAudioEncoder(<em>MediaRecorder</em>.AudioEncoder.AMR_WB); mr2.setOutputFile(soundFile2.getAbsolutePath()); try { mr.prepare(); mr.start();// mr2.prepare(); mr2.start();//**在这个位置报错** } catch (IOException e) { e.printStackTrace(); } } } //停止<em>录制</em>,资源释放 private void stopRecord(){ if(mr != null){ mr.stop(); mr2.stop(); mr.release(); mr2.release(); mr = null; mr2 = null; } } ```
采用 MediaRecorder 实现录音功能
参考文章: 1、https://www.jianshu.com/p/6bbb51ac4938 2、https://www.jianshu.com/p/6d91a8d7b974 3、https://blog.csdn.net/hecheng2009/article/details/74807032
Android音视频录制MediaRecorder用法举例
<em>MediaRecorder</em>可以实现录音和录像。 <em>MediaRecorder</em>官方说明: http://developer.android.com/reference/android/media/<em>MediaRecorder</em>.html 使用<em>MediaRecorder</em>录音录像时需要严格遵守API说明中的函数调用先后顺序,否则不能成功执行。 下面是<em>MediaRecorder</em>实现录像的例子。 此程序
MediaRecorder实现简单的录像功能
思路:定义一个SurfaceView用来显示预览,在SurfaceHolder的回调中用Camera对象启动预览,然后调用<em>MediaRecorder</em>来录像。 代码如下: 在AndroidManifest.xml添加下面的权限: activity_main.xml http://schemas.android.com
MediaRecorder 如何设计时间计算?
我使用 <em>MediaRecorder</em> 创建了程序,我想显示音频记录的时间期限。<em>MediaRecorder</em> 只是用来<em>录制</em>声音。那如何显示时间呢?
MediaRecorder: start failed: -22报错的原因和解决方法
    今天在优化相机这块的时候,看了下系统相机的源码,copy了<em>部分</em>用<em>MediaRecorder</em>来进行<em>录制</em>的代码出来,调用start的时候一直抛异常:<em>MediaRecorder</em>: start failed: -22想了好久也不知道什么,浪费了很长时间之后去百度了一下<em>MediaRecorder</em>详细信息和用法,最后才发现问题出来了初始化<em>MediaRecorder</em>的时候的调用顺序上,MediaReco...
html5 MediaRecorder 录制视频和音频
通过<em>MediaRecorder</em><em>录制</em>canvas<em>视频</em>,并添加音频流。记录一下。 var options = {}; if (typeof <em>MediaRecorder</em>.isTypeSupported == 'function') { if (<em>MediaRecorder</em>.isTypeSupported('video/webm;codecs=vp8')) { options.m...
【音】MediaRecorder支持录制类型情况
最近有有需求,需要捕获用户的脸部表情以及上课的表现情况, 用于提供给AI部门进行算法练习,研究了一下mediaRecorder <em>录制</em>stream video/webm video/webm;codecs=vp8 video/webm;codecs=vp9 video/webm;codecs=vp8.0 video/webm;codecs=vp9.0 video/webm;codecs=h264 ...
關於Android使用MediaRecorder錄像清晰度問題
使用<em>MediaRecorder</em>類、Camera開發基於Android系統手機的錄像功能 獲得的視頻文件十分模糊,無法達到系統再帶的相機所錄製的效果 經過分析后,發現在錄像的時候沒有使用自動聚焦功能,從
Android录音MediaRecorder使用和SoundPool的使用
1 <em>MediaRecorder</em>介绍 https://developer.android.google.cn/reference/android/media/<em>MediaRecorder</em> <em>MediaRecorder</em>可用于<em>录制</em>音频和<em>视频</em>,本篇只讲解<em>MediaRecorder</em>录音功能,录音控制是基于一个简单的状态机: <em>MediaRecorder</em>要严格遵守各个状态之间的变化,否则会出错。 Initial:...
使用MediaRecorder录制音频
Android提供麦克风,一般都可以使用该硬件来录音 使用MediaOrder<em>录制</em>过程很简单,有以下几个步骤: 1、实例化<em>MediaRecorder</em> <em>MediaRecorder</em> mediaRecorder = new <em>MediaRecorder</em>(); 2、设置录音来源 mediaRecorder.setAudioSource(<em>MediaRecorder</em>.AudioSource.MIC); ...
Android MediaRecorder 录制视频 start failed 的原因及解决方案
如果你用 SurfaceView+<em>MediaRecorder</em><em>录制</em><em>视频</em>, <em>录制</em>开始一直报start failed 不妨这样试一下. 今天做<em>录制</em><em>视频</em>,一直报错start failed 并额外报了mediaRecorder.prepare(); 这行代码错误. 一通改,发现没改好,最后破釜沉舟,把这两个方法分开try了一下,没想到竟然解决了问题 try { ...
MediaRecorder录屏,Socket传输录屏内容报错java.lang.IllegalStateException
用模拟器调试可以运行,用真机测试在 mediaRecorder.prepare();抛异常 ``` package www.xjw.com.mymiracast2.screenrecordservice; import android.app.Notification; import android.app.Service; import android.content.Context; import android.content.Intent; import android.hardware.display.DisplayManager; import android.hardware.display.VirtualDisplay; import android.media.<em>MediaRecorder</em>; import android.media.projection.MediaProjection; import android.media.projection.MediaProjectionManager; import android.os.IBinder; import android.os.ParcelFileDescriptor; import java.net.Socket; /** * Created by dzjin on 2018/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(2, 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>录制</em>音频和<em>视频</em>。录音控制是基于一个简单的状态机。 <em>MediaRecorder</em> mediaRecorder=new <em>MediaRecorder</em>(); //设置要录音的源。 //mediaRecorder.setAudioSource(<em>MediaRecorder</em>. AudioSource.CAMCORDER); //设置要<em>录制</em>的<em>视频</em>源。 mediaRecorder.setVideoSource(<em>MediaRecorder</em>.VideoSource.SURFACE); //设置<em>录制</em>过程中产生的输出的格式。 //3GPP媒体文件格式 mediaRecorder.setOutputFormat(<em>MediaRecorder</em>.OutputFormat.MPEG_2_TS); //设置录音格式 //mediaRecorder.setAudioEncoder(<em>MediaRecorder</em>.AudioEncoder.AMR_NB); //设置录像编码比特率。 //param:以比特/秒为单位的<em>视频</em>编码比特率 mediaRecorder.setVideoEncodingBitRate(5*mScreenWidth*mScreenHeight); //设置录像编码器用于录像。 mediaRecorder.setVideoEncoder(<em>MediaRecorder</em>.VideoEncoder.H264); //设置要拍摄的<em>视频</em>的宽度和高度。 mediaRecorder.setVideoSize(mScreenWidth,mScreenHeight); //设置要捕获<em>视频</em>的帧速率。 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 249 W/com.mymiracast2: type=1400 audit(0.0:104572): avc: denied { read write } for path="socket:[8870267]" dev="sockfs" ino=8870267 scontext=u:r:mediaserver:s0 tcontext=u:r:untrusted_app:s0:c512,c768 tclass=tcp_socket permissive=0 E/<em>MediaRecorder</em>: prepare failed: -38 W/zygote64: Got a deoptimization request on un-deoptimizable method void android.media.<em>MediaRecorder</em>._prepare() W/System.err: java.lang.IllegalStateException W/System.err: at android.media.<em>MediaRecorder</em>._prepare(Native Method) W/System.err: at android.media.<em>MediaRecorder</em>.prepare(<em>MediaRecorder</em>.java:1017) W/System.err: at www.xjw.com.mymiracast2.screenrecordservice.ScreenRecordService.create<em>MediaRecorder</em>(ScreenRecordService.java:137) W/System.err: at www.xjw.com.mymiracast2.screenrecordservice.ScreenRecordService.onStartCommand(ScreenRecordService.java:79) W/System.err: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4151) W/System.err: at android.app.ActivityThread.-wrap21(Unknown Source:0) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2119) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:108) W/System.err: at android.os.Looper.loop(Looper.java:166) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7529) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) E/<em>MediaRecorder</em>: SurfaceMediaSource could not be initialized! W/System.err: java.lang.IllegalStateException: failed to get surface at android.media.<em>MediaRecorder</em>.getSurface(Native Method) W/System.err: at www.xjw.com.mymiracast2.screenrecordservice.ScreenRecordService.createVirtualDisplay(ScreenRecordService.java:160) at www.xjw.com.mymiracast2.screenrecordservice.ScreenRecordService.onStartCommand(ScreenRecordService.java:80) W/System.err: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4151) at android.app.ActivityThread.-wrap21(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2119) at android.os.Handler.dispatchMessage(Handler.java:108) W/System.err: at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7529) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) D/StrictMode: StrictMode policy violation; ~duration=7334 ms: android.os.StrictMode$StrictModeNetworkViolation: policy=65543 violation=4 at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1466) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:356) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:201) 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:217) at www.xjw.com.mymiracast2.screenrecordservice.ScreenRecordService.onStartCommand(ScreenRecordService.java:74) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4151) at android.app.ActivityThread.-wrap21(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2119) at android.os.Handler.dispatchMessage(Handler.java:108) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7529) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) D/StrictMode: StrictMode policy violation; ~duration=7332 ms: android.os.StrictMode$StrictModeNetworkViolation: policy=65543 violation=4 ``` ```
使用MediaRecorder实现在录制视频并压缩解码
使用<em>MediaRecorder</em>实现在<em>录制</em><em>视频</em>并压缩解码。
VivoX21 UDA 机型录像执行mediaRecorder.start()崩溃
### 使用Camera+MediaReocrd实现相机<em>录制</em>小<em>视频</em>功能 在 **VivoX21 UDA** 机型上录像执行 ``` mediaRecorder.start() ``` 时**崩溃** 相同的代码, 暂时测试其他机型可以正常<em>录制</em>,没发现问题; **下面是<em>部分</em>点击按钮录像代码:** ``` if (mediaRecorder == null) { mediaRecorder = new <em>MediaRecorder</em>(); } if (mParams == null) { mParams = mCamera.getParameters(); } List focusModes = mParams.getSupportedFocusModes(); if (focusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) { mParams.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO); } mCamera.setParameters(mParams); mCamera.unlock(); mediaRecorder.reset(); mediaRecorder.setCamera(mCamera); if (needVoice) { mediaRecorder.setAudioSource(<em>MediaRecorder</em>.AudioSource.MIC); } else { mediaRecorder.setAudioSource(<em>MediaRecorder</em>.AudioSource.DEFAULT); } mediaRecorder.setVideoSource(<em>MediaRecorder</em>.VideoSource.CAMERA); mediaRecorder.setOutputFormat(<em>MediaRecorder</em>.OutputFormat.MPEG_4); mediaRecorder.setAudioEncoder(<em>MediaRecorder</em>.AudioEncoder.AAC); mediaRecorder.setVideoEncoder(<em>MediaRecorder</em>.VideoEncoder.H264); Camera.Size videoSize; if (mParams.getSupportedVideoSizes() == null) { videoSize = CameraParamUtil.getInstance().getPreviewSize(mParams.getSupportedPreviewSizes(), 400, screenProp); } else { videoSize = CameraParamUtil.getInstance().getPreviewSize(mParams.getSupportedVideoSizes(), 400, screenProp); } if (videoSize.width == videoSize.height) { mediaRecorder.setVideoSize(preview_width, preview_height); } else { //_这里vivoX21 uda 匹配的videoSize 864*480_ mediaRecorder.setVideoSize(videoSize.width, videoSize.height); } if (SELECTED_CAMERA == CAMERA_FRONT_POSITION) { //<em>手机</em>预览处理 if (cameraAngle == 270) { //横屏 if (nowAngle == 0) { mediaRecorder.setOrientationHint(180); } else if (nowAngle == 270) { mediaRecorder.setOrientationHint(270); } else { mediaRecorder.setOrientationHint(90); } } else { if (nowAngle == 90) { mediaRecorder.setOrientationHint(270); } else if (nowAngle == 270) { mediaRecorder.setOrientationHint(90); } else { mediaRecorder.setOrientationHint(nowAngle); } } } else { mediaRecorder.setOrientationHint(nowAngle); } mediaRecorder.setVideoEncodingBitRate(mediaQuality); mediaRecorder.setPreviewDisplay(surface); videoFileName = "video_" + System.currentTimeMillis() + ".mp4"; if (saveVideoPath.equals("")) { saveVideoPath = Environment.getExternalStorageDirectory().getPath(); } videoFileAbsPath = saveVideoPath + File.separator + videoFileName; mediaRecorder.setOutputFile(videoFileAbsPath); try { mediaRecorder.prepare(); mediaRecorder.start(); //这行报错!!!! isRecorder = true; } catch (IllegalStateException e) { e.printStackTrace(); Log.i(TAG, "startRecord IllegalStateException"); } catch (IOException e) { e.printStackTrace(); Log.i(TAG, "startRecord IOException"); if (this.errorLisenter != null) { this.errorLisenter.onError(); } } catch (RuntimeException e) { Log.i(TAG, "startRecord RuntimeException"); } ```
Android Manager之MediaRecorder(音视频录制)
1.简介<em>MediaRecorder</em>类是Android sdk提供的一个专门用于音<em>视频</em><em>录制</em>,一般利用<em>手机</em>麦克风采集音频,摄像头采集图片信息。2.<em>MediaRecorder</em>主要方法2.1. 方法:setAudioChannels(int numChannels) 作用:设置<em>录制</em>的音频通道数。2.2.方法:setAudioEncoder(int audio_encoder) 作用:设置audio的编码格...
基于MediaRecorder视频录制
一个简易的Android<em>视频</em><em>录制</em>demo,基于<em>MediaRecorder</em>开发,支持参数设置,<em>视频</em>文件编辑及播放,内容比较丰富
android 录音 mediaRecorder
文章目录Android提供了两个API用于录音的实现:mediaRecorderaudioReccrd Android提供了两个API用于录音的实现: <em>MediaRecorder</em> 和AudioRecord。 参考来自https://www.jianshu.com/p/de779d509e6c •<em>MediaRecorder</em>:<em>录制</em>的音频文件是经过压缩后的,需要设置编码器。并且<em>录制</em>的音频文件可以用系统自...
安卓调用录音MediaRecorder在start的时候老是有异常
mRecorder = new <em>MediaRecorder</em>(); mRecorder = new <em>MediaRecorder</em>(); mRecorder.setAudioSource(MediaReco
音频的录制方式-AudioRecord,MediaRecorder的使用及播放
博客转移到个人站点:http://www.wangchengmeng.club 欢迎来吐槽 AudioRecord和<em>MediaRecorder</em>两种都可以<em>录制</em>音频,<em>MediaRecorder</em>已实现大量的封装,操作起来更加简单,而AudioRecord使用起来更加灵活,能实现更多的功能。 1.AudioRecord(基于字节流录音) 优点:可以实现语音的实时处理,进行边录边播,对音频的实时处
Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19
转于:http://blog.csdn.net/netwalk/article/details/17686993 ------------------------------------------------------------------------------------   Error处理: android.media.<em>MediaRecorder</em>.start(Native Me...
使用MediaRecorder录制视频和实时传输
android开发,我要实现的是:在服务器端使用<em>MediaRecorder</em><em>录制</em>mp4的<em>视频</em>, 同时要把数据流通过rtsp实时传输到客户端。因为<em>MediaRecorder</em>设置setOutputFile时
Mediarecorder录音(保存为本地文件AAC格式)
package com.example.ffmpegaudio; import java.io.File; import java.io.FileDescriptor; import java.io.IOException; import java.io.InputStream; import android.app.Activity; import android.media.MediaRe
MediaRecorder停止录音的时候报错
02-25 15:39:56.418 E/<em>MediaRecorder</em>(28749): stop failed: -110 02-25 15:39:56.428 D/AndroidRuntime(287
视频录制MediaRecorder
简介 参考
请问各路大神关于android mediarecorder录像提示start failed问题,在线等
使用<em>MediaRecorder</em>实现录像代码如下,但是录像 m<em>MediaRecorder</em>.setCamera(myCamera); //m<em>MediaRecorder</em>.setPreviewDisplay(
Android 使用MediaRecord录像的一些问题总结
最近一段时间都在做一些录像相关的事情,通过直接找到一些大神的博客,学习怎么使用MediaRecord,总算完成,如果只是这样就不写这篇文章了,关键在我们的技术支持是一个追求完美的人,他提出了三个问题: 1、录像出来的文件清晰度不够; 2、录像文件和系统对比,亮度不够; 3、帧数达不到要求; 总之就是和系统录像有差距,<em>录制</em>的<em>视频</em>文件要和系统<em>录制</em>出来的一样,头大,针对个问题,又是一番百度: ...
Android开发之MediaRecorder类详解
<em>MediaRecorder</em>类详解 <em>手机</em>一般都有麦克风和摄像头,而Android系统就可以利用这些硬件来<em>录制</em>音<em>视频</em>了。 为了增加对<em>录制</em>音<em>视频</em>的支持,Android系统提供了一个<em>MediaRecorder</em>的类。该类的使用也非常简单,下面让我们来了解一下这个类: 一、类结构: java.lang.Object    ↳ androi
Android音视频MediaRecorder视频录制
前言: 公司产品有很多地方都需要上传音频<em>视频</em>,今天抽空总结一下音频<em>视频</em>的<em>录制</em>。学习的主角是<em>MediaRecorder</em>类。 <em>MediaRecorder</em>类介绍: <em>MediaRecorder</em>类是Android sdk提供的一个专门用于音<em>视频</em><em>录制</em>,一般利用<em>手机</em>麦克风采集音频,摄像头采集图片信息。 <em>MediaRecorder</em>主要函数: setAudioChanne...
MediaRecorder流程分析
<em>MediaRecorder</em>流程分析 目录 一、 java层 1、java应用层 java应用层主要是一些接口的调用,它并没有具体功能代码的实现,java应用层的代码路径为: android/packages/apps/SoundRecorder/src/com/android/soundrecorder/ 该目录下有文件: SoundRecorder.java Recorder.java VUMeter.java soundrecorder.java是程序的入口文件,我们在可以在里面设置文件输
android Camera2 录像 TextureView 异常 困扰两天了 求大佬指点
异常 java.lang.IllegalStateException: failed to get surface at android.media.<em>MediaRecorder</em>.getSurface(
AndroidMediaRecorder架构详解
原 Android<em>MediaRecorder</em>架构详解 2015年03月27日 15:38:54 phoebe_2012 阅读数:5960 标签: android <em>MediaRecorder</em> 架构 C层录音 更多 个人分类: android Android<em>MediaRecorder</em>架构详解 1.     简介 在android中<em>录制</em>音频有两种方式,<em>MediaRecorder</em>和Audi...
写一段录像代码,但是启动提示错误:MediaRecorder﹕ start failed: -19
使用Android 4.4.4 想实现录像功能。 仿照网上的资料写了一段录像代码,如下: try { // 创建保存<em>录制</em><em>视频</em>的<em>视频</em>文件 videoFile = new File(Environment
MediaRecorder录制视频
<em>MediaRecorder</em> 这个类主要用来做多媒体录音和录<em>视频</em>的 首先是<em>录制</em><em>视频</em>的mainActivity.xml文件 &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;amp;gt; &amp;amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp
Android前置摄像头视频录制失败MediaRecorder: start failed: -19)
错误日志       今天遇到一个<em>手机</em><em>录制</em><em>视频</em>的错误,mx4前置摄像头不能进行<em>录制</em>,后置摄像头ok,错误日志如下:com.example E/<em>MediaRecorder</em>: start failed: -19 com.example W/System.err: java.lang.RuntimeException: start failed. com.example W/System.err:
通过MediaRecorder 录制视频的时候,魅族手机录制视频后,大小显示0
解决方法:在设置Camera参数的时候,针对魅族<em>手机</em>做特殊处理: List&lt;Camera.Size&gt; pictureSizes = filterSizes(parameters.getSupportedPictureSizes(), width, height); List&lt;Camera.Size&gt; previewSizes; if (PhoneUtil.isMeizuF...
Android mediarecord: start failed: -38错误解决办法
Android mediarecord: start failed: -38错误解决办法 最近在使用android MediaRecord类进行录像时,总在MediaRecord.start()就报错(start failed: -38),网上众说纷纭,但都没法解决我的情况,经过试验,发现麦克风有其他线程在使用,我想这就是这个错误的原因吧,于是把麦克风的使用先暂时注释后,再进行录像,竟然成功了...
MediaRecorder
Quicknav DesignDevelopDistribute Links Google Play Developer ConsoleAndroid Developers BlogAbout Android Android Sites Android.comAndroid DevelopersAndroid Open Source
Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19
Error处理: android.media.<em>MediaRecorder</em>.start(Native Method) 报错:start failed: -19 spydroid-android测试在android4.0系统上报错 start failed: -19 而且也发现,在使用<em>MediaRecorder</em>进行<em>视频</em><em>录制</em>,调用start()方法时报错,发生spydroid-android测试在android4.0系统上同样的错误,具体错误如下:
Android MediaRecorder录像
近期小编正在做类似于朋友圈的功能,调用系统录像,华为机10s中就录出来41M,上传就要30-40s,测试提出BUG,产品提出需优化,小编在风中凌乱,没做过啊,,,近期终于完成需求,梳理一下,方便以后看。 一. 软编码和硬编码如何区分 软编码:使用CPU进行编码 硬编码:使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等 二. 软编码和硬编码比较 软编码:实现直接、...
MediaRecorder视频录制和播放
Android 中<em>MediaRecorder</em>和Camera的关系 从功能的角度<em>MediaRecorder</em>一般包含音频,<em>视频</em>记录,<em>视频</em>预览的功能,Camera包含了取景区预览,静态图像捕获的功能。在Android中,应用程序自上而下分成JAVA应用,JAVA框架,JNI,C框架,具体实现几个<em>部分</em>。多媒体方面的程序尤其是这样。<em>MediaRecorder</em> 和Camera在Android中都有自上而下
多媒体概述SoundPool播放音效
package com.example.tyxiong.myapplication;import android.app.Activity; import android.content.res.AssetManager; import android.media.AudioAttributes; import android.media.AudioManager; import android.m
Android MediaRecorder的总结还有录制视屏(详解)
Android <em>录制</em>视屏详解的链接 http://mp.blog.csdn.net/postedit/79251164 <em>手机</em>一般都有麦克风和摄像头,而Android系统就可以利用这些硬件来<em>录制</em>音<em>视频</em>了。 为了增加对<em>录制</em>音<em>视频</em>的支持,Android系统提供了一个<em>MediaRecorder</em>的类。该类的使用也非常简单,下面让我们来了解一下这个类: 一、类结构: java.lang.Ob
整合Camera和MediaRecorder实现拍照和录像
年末最后一篇文章,明天就可以回家过年了.今天带来的效果如下图所示: 效果图看到的拍照和摄像其实是一个自定义的SurfaceView,在里面实现了拍照和散光灯切换,前后摄像头切换,录像的功能,以及定时<em>录制</em>的功能.下面直接贴出完整代码,关键<em>部分</em>都加上了注释,相信都能看懂的.public class RecordView extends SurfaceView implements MediaR
Android使用MediaRecorder和Camera实现视频录制及播放功能整理
这两天产品经理向我丢来一个新需求,需要在项目里添加一个<em>视频</em><em>录制</em>的功能,正好是我没做过的,于是研究了一番。在网上搜索了一些案例,但是都是不完整的,要不就是分辨率有问题的,要不就是声音有问题的,要不就是实现了<em>视频</em><em>录制</em>但是没有播放功能的,所以我就想自己做一个,整合一下,来个较完整版的。PM的要求如下:实现录像功能,录完后可以预览播放,<em>视频</em>清晰并且大小不能大,支持删除<em>视频</em>功能……好吧,开始干活了,首先来分析
解决Failed to get convolution algorithm. cudnn failed to initialize...
CuDNN library compatibility error after loading model weights服务器环境错误原因如解决方案 服务器环境 Ubuntu16.04、cuda9.0、cudnn7.0、tensorflow1.12.0、python3.5、1080ti 错误 Failed to get convolution algorithm. cudnn failed to...
MediaRecorder视频框架
<em>MediaRecorder</em>音<em>视频</em>框架 附几篇学习博客链接: Camera<em>视频</em>加水印 JNI使用的数据结构JNINativeMethod详解 MPEG4Writer学习博客 Camera结构分析 Android高通平台Camera<em>录制</em>--MPEG4Writer.cpp 简单跟读 阅代码工具:Source Insight 一、API简要说明 1.1 它Android平
Android:使用MediaRecorder录制高清视频,TextureView预览
用户权限获取 &amp;lt;uses-permission android:name=&quot;android.permission.CAMERA&quot; /&amp;gt; &amp;lt;uses-permission android:name=&quot;android.permission.RECORD_AUDIO&quot; /&amp;gt; &amp;lt;uses-permission android:name=&quot;android.permission...
视频录制(一)—mediaRecorder介绍
mediaRecorder类的详细说明
使用MediaRecorder录制视频
布局 xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/t
[RK3288][Android6.0] 视频编码方式MediaRecorder和MediaCodec
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92目录<em>MediaRecorder</em> 状态机控制 编码例子 MediaCodec 工作流 使用例子同步 参考系统<em>视频</em>编码有两种方式,使用MediaCodec和<em>MediaRecorder</em>。<em>MediaRecorder</em>: 相对MediaCodec封装得更上层,因此使用相对更简单,但是不能直接处理原始<em>视频</em>数据流
android MediaRecorder 与 AudioRecord 差异
<em>MediaRecorder</em> 除了录音还可以录<em>视频</em>,在<em>录制</em>的过程中它将音频数据写入到一个缓存文件中。对用户来说,这时不能获得数据。 AudioRecorder 在<em>录制</em>声音过程中,用户可以通过设置通知响应函数,截获音频数据,并将音频数据画成曲线或柱状图。 所以对于用户而言,<em>MediaRecorder</em> 比较高级,使用简单。AudioRecorder 则用起来复杂,但提供了更多的接口。 如果想画
Android MediaRecorder与AudioRecorder
转自:http://blog.csdn.net/zyfu0000/article/details/7513120#             http://www.huacong.net.cn/contents/12/307.html 一、<em>MediaRecorder</em> 使用<em>MediaRecorder</em>进行声音<em>录制</em>简单方便,不需要理会中间<em>录制</em>过程。结束<em>录制</em>后可以直接得到音频文件进行播放。
完美解决录音权限问题并附上录音代码
这段时间做一个项目有即时聊天功能,里面有遇到录音权限的问题,百度了个遍判断权限问题,没有好的解决方案,然而自己代码变通了一下,发现问题其实也还好,先附上录音工具package .view; import android.app.Dialog; import android.content.Context; import android.os.Environment; import android
MediaRecorder 录制声音!带上耳机录制背景声音特别小!
我正在做一个跟荔枝FM功能一样的APP,<em>录制</em>声音这块,不带耳机能<em>录制</em>上声音。带上耳机<em>录制</em>声音特别小。求解答
MediaRecorder手机录屏,部分手机失败报错
02-25 03:50:35.021 3694 3694 D StatusBar: disable disable2 02-25 03:50:3
使用MediaProjection和MediaRecorder实现屏幕录制
一、实现的效果 这个Demo主要是实现Android<em>手机</em>屏幕<em>录制</em>的功能,可以实现<em>视频</em>、音频的<em>录制</em>,可以选取<em>录制</em><em>视频</em>的效果,是否开启音频<em>录制</em>。截图如下: 点击START按钮开始屏幕<em>录制</em>,这里还可以选择标清或高清<em>视频</em>,是否开启音频<em>录制</em>等;点击STOP按钮结束<em>录制</em>。 二、代码分析 整个Demo比较简单,只有两个类:一个是应用程序入口MainActivity,一个是具体实现<em>录制</em>功能
MediaRecorder和AudioRecorder,录音和获取分贝
<em>MediaRecorder</em> VS AudioRecorder 输出格式:<em>MediaRecorder</em><em>录制</em>的数据是 amr MP3 格式 AudioRecorder<em>录制</em>出来的是比较原始的PCM音频格式 优劣:从输出格式上其实就能看出来<em>MediaRecorder</em>更上层一点,也就是用起来会比较简单,不需要音频转码的操作,事实上从下面的代码中也可以看出来,Med
Android MediaProjection截屏与录屏(surfaceview截图)(一)
MediaProjection 和 MediaProjectionManager 是 Android 5.0 开放的屏幕截图与<em>录制</em><em>视频</em>的接口,它可以用来对 surfaceview 进行截图,解决以前 surfaceview 截图出现黑屏的问题(就是问了这个问题来的,5.0以下没找到方法)。MediaProjectionManager 是一个系统级的服务,可以通过 getSystemService 来
Android录音--AudioRecord、MediaRecorder (音频文件格式处理)
转自:http://www.cnblogs.com/Amandaliu/archive/2013/02/04/2891604.html Android提供了两个API用于实现录音功能:android.media.AudioRecord、android.media.<em>MediaRecorder</em>。     网上有很多谈论这两个类的资料。现在大致总结下: 1、AudioRecord 主要是实
使用mediaRecorder录像的小坑
之前写好的工具类,直接封装好了,代码如下: package jun.yuanlai; import android.content.Context; import android.hardware.Camera; import android.media.CamcorderProfile; import android.media.<em>MediaRecorder</em>; import android.o
踩完百度首页坑,亲测可用android录像,mediaRecord
本人两部<em>手机</em>5.1和6.0系统,亲测可用~~~~花了几个小时踩坑,希望大家少走弯路 先上权限,记住开权限
Android 录音MediaRecorder到AudioRecord
研究录音是源于即时通讯的项目。写出一个即时通讯很简单,但是写好一个即时通讯就不是一件容易的事,比如聊天中语音的加入。接下来就来描述一下自己对语音的见解和处理方式。 首先写到语音,当然首当其冲的是运用到网上百分之八九十的处理方案<em>MediaRecorder</em>,这个也是我首先用到的方式,主要是由于以前写过接入环信的项目,它里面所提供的就是MediaRecor
MediaRecorder关于录制视频文件大小和录制时长的设置
 为了将<em>MediaRecorder</em>用于<em>视频</em>捕获,必须采用与音频捕获相同的步骤,同时加上一些<em>视频</em>的特定的步骤。除此之外,MediaRecord是一个状态机,因此必须遵从实例化到<em>录制</em>的特定步骤序列。 首先将实例化<em>MediaRecorder</em>,然后一次进行其他的步骤。 <em>MediaRecorder</em> recorder=new <em>MediaRecorder</em>(); 1.音频和<em>视频</em>源 在实例化
Android 中使用MediaRecorder进行录像详解(视频录制
转载自:http://blog.csdn.net/JoeBaby_/article/details/7878454 在这里给出自己的一个测试DEMO,里面注释很详细。简单的<em>视频</em><em>录制</em>功能. package com.demo; import java.io.IOException; import android.app.Activity; import android.content.pm.
Android7.0 MediaRecorder源码分析(一)
**本次分析是基于Android7.1.2代码**  最近在做Camera的方案(双进程打开一个Camera),涉及到使用<em>MediaRecorder</em> 进行录像,还是自己新建一套录像系统。接下来我将记录下本次源码分析的流程。  有关于Client和Server间的binder通信,会在下一篇里分析  (Client)  STEP ON...
Android使用MediaRecorder可以使用自带的pause()实现音频暂停功能
谷歌原生<em>MediaRecorder</em>是没有实现Pause()和Resume()。MTK在<em>MediaRecorder</em>Ex中扩展了这两个接口,使AP可以调用这两个接口,实现录像pause和resume的功能。但许多客户对这两个接口并不熟悉,不知道怎么调用,因此在此处详细说明这两个接口的用法。 方案一: 在AP修改: 1)在Java代码头部引入<em>MediaRecorder</em>Ex: import com.m...
Android mediaRecorder框架简述(一)
下面是框架简图: 首先调用mediaRecorder.java中的方法比如start方法,会调用jni: 也就是调用android_media_recorder.cpp的start方法:  接着到mediaRecorder.cpp,mediaRecorder是由mediaplayerService创建的,而mediaRecoder.cpp和mediap
android MediaRecorder start failed:-38
android <em>MediaRecorder</em> start failed:-38 2015年06月30日 17:40:28 laizhiwei2014 阅读数:6060 最近在学习android 录音方面的知识,发现在<em>部分</em><em>手机</em>正常运行的APP,在华为平板上挂了,eclipse的Logcat显示<em>MediaRecorder</em> start failed:-38。查了下资料,原因是我的APP在编码时使用了多...
Android开发之使用MediaRecorder录制视频
<em>MediaRecorder</em>除了可以用于<em>录制</em>音频,还可用于<em>录制</em><em>视频</em>。使用<em>MediaRecorder</em><em>录制</em><em>视频</em>与<em>录制</em>音频的步骤基本相同。只是<em>录制</em><em>视频</em>时不仅需要采集声音,还需要采集图像。为了让<em>MediaRecorder</em><em>录制</em>时采集图像,应该在调用setAudioSource(int audio source)方法时再调用setVideoSource(int video source)方法来设置图像来源。
MediaRecorder录制视频的问题
<em>MediaRecorder</em> <em>录制</em><em>视频</em>时需要像如下操作: mediarecorder = new <em>MediaRecorder</em>(); .... .... mediarecorder.setPreviewD
MediaRecorder录制视频保存的问题
是在做一个关于<em>视频</em>聊天的东西,现在用ffmpeg可以实现将本地的文件推到服务器,但要想实现实时,暂时还没特别好的想法,现在的处理方案是用<em>MediaRecorder</em><em>录制</em><em>视频</em>保存到本地,但<em>录制</em>的时候保存按
MediaRecorder 录制视频不支持暂停续录的问题
之前写过一个Demo实现了<em>MediaRecorder</em>的暂停<em>录制</em>问题,后来很多人加了我的QQ,所以今天写了这篇博客和大家一起交流分享。 首先,我研究过android的<em>MediaRecorder</em>的API是不支持暂停续录的,所以,客官一定要用<em>MediaRecorder</em>的源生API去实现暂停续录,可以直接点击关闭该页面按钮。 我这里使用的方法是对<em>视频</em>的拼接,思路是当时看国外的stackoverflow
Android系统自带的MediaRecorder结合Camera实现视频录制及播放功能。
近期,公司项目新增了需求,需要<em>视频</em><em>录制</em>,然后保存到本地,再播放...。 看了很多其他的框架,说不出好坏,应该说各有千秋吧。但我觉得还是原生的靠谱,就是谷歌系统自带的<em>MediaRecorder</em>。 不多说上代码吧(已经测试,没问题)。 代码没什么复杂的,都是些基本的逻辑问题,注释就比较少,理清逻辑就很简单了。 布局文件: xml version="1.0" encoding="u
Android Camera学习记录(一) 视频录制MediaRecorder
第一次写自己的技术博客,本人Android菜鸟一枚,写博客也只是为了记录自己学习过的东西,以便以后可以更容找到属于自己的资料。 最近一直在做Camera的开发,今天主要想将使用Camera<em>录制</em><em>视频</em>的方法记录下来。 其实网上关于这方面的技术其实都有比较清晰的讲解,不过大<em>部分</em>都是讲一<em>部分</em>空一<em>部分</em>,所以就想着要整理综合一下。
android 5.1版本使用MediaCodec出错
功能是利用MediaCodec和MediaMuxer把网络摄像头传输过来的<em>视频</em>实时的保存成mp4, 在安卓4.4上保存成功了。但是在5.1的机器上初始化MediaCodec出现以下错误 E/ACodec: [OMX.qcom.video.encoder.avc] storeMetaDataInBuffers (output) failed w/ err -1010 W/ACodec: do not know color format 0x7fa30c04 = 2141391876 W/ACodec: do not know color format 0x7f000789 = 2130708361 我初始化代码为 MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc",1280, 720); mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, m_colorType); mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 125000); mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, 15); mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 5); try { mediaCodec = MediaCodec.createEncoderByType("video/avc"); } catch (IOException e) { e.printStackTrace(); } mediaCodec.configure(mediaFormat, null, null,MediaCodec.CONFIGURE_FLAG_ENCODE); 另外, m_colorType的值,4.4方法跑出来是19,5.1为21
android MediaCodec的自己碰到的问题
本文是个人在使用MediaCodec开发的时候碰到的一些问题,做下记录.... MediaCodec的基本用法,网上一大把,这里就不写了 1, 获取支持分辨率问题 Camera.Parameters parameters = _camera.getParameters(); List previewSizes = parameters.getSupportedPreviewS
MediaMuxer Stop抛异常崩溃
java.lang.IllegalStateException: Failed to stop the muxer at android.media.MediaMuxer.nativeStop(Native Method) at android.media.MediaMuxer.stop(MediaMuxer.java:225) MediaMuxer在<em>录制</em>完成时调用stop接口抛异常崩溃
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
// Console.WriteLine(cs[9]);c#教材下载
相当帮的教程你们一定要下载 上我点分 我记着下载 相关下载链接:[url=//download.csdn.net/download/rivergogo/2593515?utm_source=bbsseo]//download.csdn.net/download/rivergogo/2593515?utm_source=bbsseo[/url]
多媒体通信技术-北邮李学明老师下载
北邮多媒体通信方向李学明老师给研究生上课所用课件,李老师和蔼可亲,讲解细致,通俗易懂,是一位不错的老师。 相关下载链接:[url=//download.csdn.net/download/whupc/3110247?utm_source=bbsseo]//download.csdn.net/download/whupc/3110247?utm_source=bbsseo[/url]
Voice Acting For Dummies下载
Whether people have told you your entire life that you have a great voice or you’ve recently discovered a hidden talent for creating characters, this book is for you. Voice Acting For Dummies is packed with helpful information that explains in plain English how to use your voice to make money, inter 相关下载链接:[url=//download.csdn.net/download/twjchina/10112258?utm_source=bbsseo]//download.csdn.net/download/twjchina/10112258?utm_source=bbsseo[/url]
相关热词 c#中dns类 c#合并的excel c# implicit c#怎么保留3个小数点 c# 串口通信、 网络调试助手c# c# 泛型比较大小 c#解压分卷问题 c#启动居中 c# 逻辑或运算符
我们是很有底线的