FrankLove
FrankLove
博主,请问在fragment里面调用 ` globalSetting .setOnMainListener(errorMessage -> Toast.makeText(getContext(), "自定义失败信息:录音已经达到上限", Toast.LENGTH_LONG).show()) .allStrategy(new SaveStrategy(true, "com.zhongjh.cameraapp.fileprovider", "AA/test"))// 设置路径和7.0保护路径等等 .imageEngine(new Glide4Engine()) // for glide-V4 .maxSelectablePerMediaType(5 - alreadyImageCount, 1 - alreadyVideoCount, 1 - alreadyAudioCount)// 最大10张图片或者最大1个视频 .forResult(REQUEST_CODE_CHOOSE);` 接收不到onActivityResult回调是为啥
@zhongjhATC demo里面好像没有在fragment里面使用的实例,这个估计应该我自己处理才行
@REBOOTERS 0.5.3 it seems also have this bug
@REBOOTERS sorry I don't use the source code to test, So can't provide details to you ,If you can test it with a demo,you will find this problem and see...
@begeekmyfriend 博主,google的这个demo我之前有看过,他只是通过MediaProjection然后显示画面到surface,这个流程我知道,但是这个跟屏幕推流还是不同的。我之前根据网上的demo做了一个硬解码后直接用TCP发送h264裸流的,PC端然后通过SDL渲染播放,现在我是想把硬解码拿到的h624数据用你这个推流出去,请教博主这个能不能提供一下思路?
好的,谢谢博主指点~
@begeekmyfriend 博主,不好意思,再请教一下,我修改了数据的输入源, @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public void initEncoder(MediaProjection mediaProjection) throws IOException { MediaFormat format = MediaFormat.createVideoFormat(MediaFormat.MIMETYPE_VIDEO_AVC, mWidth, mHeight); format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); format.setInteger(KEY_MAX_INPUT_SIZE,0); format.setInteger(KEY_BIT_RATE, 4200000);//width * height 200000 format.setInteger(KEY_FRAME_RATE, 20); format.setInteger(KEY_I_FRAME_INTERVAL, 3);...
@begeekmyfriend 好的,现在已经可以了。博主,给你提个建议,数据发送这块不建议用java的原生socket,改成jni调用C语言的tcp效率会大幅提高
@begeekmyfriend 博主,还想请教下,目前测试过程中推流到服务器,然后播放端画面最低也有500ms的延迟,改成屏幕推流后数据量相对比摄像头大了不少,内网ping 服务器延迟
好的,博主你什么时候回考虑下加入屏幕推流这块呢,我发现我改的这个屏幕推流,相同的码流设置,在手机上推还勉强能看,在平板上简直卡到不行,码流现在调的也不高,看着画面都还有些模糊,每秒的数量一般也只有200-500kb。还有我发现一个问题 public void writeVideoSample(final ByteBuffer bb, MediaCodec.BufferInfo bi) { if (bi.size < 4) return; int offset = 4; long pts = (bi.presentationTimeUs / 1000); //这个值如果定义为整型在手机上正常,在我测试的一个平板上出来的值是负数,因为这个值bi.presentationTimeUs超过了整型最大长度,不知道为什么会这样?导致无法正常推流,可能要改成long比较安全点