一、ReplayKit2 框架回调中

  视频、micphone声音、系统声音三路回调

- (void)processSampleBuffer:(CMSampleBufferRef)sampleBuffer withType:(RPSampleBufferType)sampleBufferType {

    switch (sampleBufferType) {
case RPSampleBufferTypeVideo:{
// Handle video sample buffer
QG_Debug(MODULE_LIVE_ASS, @"SampleHandler processSampleBuffer RPSampleBufferTypeVideo"); }
break;
case RPSampleBufferTypeAudioApp:
// Handle audio sample buffer for app audio
QG_Debug(MODULE_LIVE_ASS, @"SampleHandler processSampleBuffer RPSampleBufferTypeAudioApp ---------------"); break;
case RPSampleBufferTypeAudioMic:
// Handle audio sample buffer for mic audio
QG_Debug(MODULE_LIVE_ASS, @"SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic"); break; default:
break;
} }

  现在的问题是,micphone的回调几乎是实时的,每秒42次

  

默认	16:01:49.626272 +0800	LABroadcastUpload	2018-10-31 16:01:49.625 [48679] Debug|be27|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.633504 +0800 LABroadcastUpload 2018-10-31 16:01:49.633 [48679] Debug|be27|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.657628 +0800 LABroadcastUpload 2018-10-31 16:01:49.657 [48679] Debug|be27|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.669175 +0800 LABroadcastUpload 2018-10-31 16:01:49.668 [48679] Debug|be27|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.680324 +0800 LABroadcastUpload 2018-10-31 16:01:49.679 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.692136 +0800 LABroadcastUpload 2018-10-31 16:01:49.691 [45831] Debug|b307|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.704546 +0800 LABroadcastUpload 2018-10-31 16:01:49.704 [8599] Debug|2197|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.732569 +0800 LABroadcastUpload 2018-10-31 16:01:49.726 [8599] Debug|2197|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.736873 +0800 LABroadcastUpload 2018-10-31 16:01:49.726 [8599] Debug|2197|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.783538 +0800 LABroadcastUpload 2018-10-31 16:01:49.749 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.793023 +0800 LABroadcastUpload 2018-10-31 16:01:49.759 [45831] Debug|b307|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.806903 +0800 LABroadcastUpload 2018-10-31 16:01:49.774 [48679] Debug|be27|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.832517 +0800 LABroadcastUpload 2018-10-31 16:01:49.795 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.838011 +0800 LABroadcastUpload 2018-10-31 16:01:49.800 [8599] Debug|2197|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.876397 +0800 LABroadcastUpload 2018-10-31 16:01:49.823 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.907369 +0800 LABroadcastUpload 2018-10-31 16:01:49.842 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.912447 +0800 LABroadcastUpload 2018-10-31 16:01:49.845 [48679] Debug|be27|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.937406 +0800 LABroadcastUpload 2018-10-31 16:01:49.859 [9219] Debug|2403|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.940732 +0800 LABroadcastUpload 2018-10-31 16:01:49.865 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.946041 +0800 LABroadcastUpload 2018-10-31 16:01:49.889 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.948695 +0800 LABroadcastUpload 2018-10-31 16:01:49.893 [9219] Debug|2403|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.949680 +0800 LABroadcastUpload 2018-10-31 16:01:49.911 [48679] Debug|be27|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.951007 +0800 LABroadcastUpload 2018-10-31 16:01:49.926 [45831] Debug|b307|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.951684 +0800 LABroadcastUpload 2018-10-31 16:01:49.934 [48679] Debug|be27|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.958768 +0800 LABroadcastUpload 2018-10-31 16:01:49.958 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:49.964717 +0800 LABroadcastUpload 2018-10-31 16:01:49.964 [45831] Debug|b307|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:49.982194 +0800 LABroadcastUpload 2018-10-31 16:01:49.981 [9219] Debug|2403|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:50.006942 +0800 LABroadcastUpload 2018-10-31 16:01:50.006 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:50.007363 +0800 LABroadcastUpload 2018-10-31 16:01:50.007 [9219] Debug|2403|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:50.028539 +0800 LABroadcastUpload 2018-10-31 16:01:50.027 [48679] Debug|be27|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:50.029291 +0800 LABroadcastUpload 2018-10-31 16:01:50.028 [8599] Debug|2197|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:50.051188 +0800 LABroadcastUpload 2018-10-31 16:01:50.050 [8599] Debug|2197|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:50.058217 +0800 LABroadcastUpload 2018-10-31 16:01:50.058 [8599] Debug|2197|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:50.074354 +0800 LABroadcastUpload 2018-10-31 16:01:50.074 [8599] Debug|2197|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:50.099753 +0800 LABroadcastUpload 2018-10-31 16:01:50.093 [45831] Debug|b307|SampleHandler.m:307|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 16:01:50.103660 +0800 LABroadcastUpload 2018-10-31 16:01:50.097 [48679] Debug|be27|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic
默认 16:01:50.132583 +0800 LABroadcastUpload 2018-10-31 16:01:50.124 [45831] Debug|b307|SampleHandler.m:320|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioMic

  但是App的声音是几乎500ms一次

默认	11:02:28.314940 +0800	LABroadcastUpload	2018-10-31 11:02:28.313 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.338789 +0800 LABroadcastUpload 2018-10-31 11:02:28.337 [84535] Debug|14a37|SampleHandler.m:312|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioApp ---------------
默认 11:02:28.346683 +0800 LABroadcastUpload 2018-10-31 11:02:28.346 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.380657 +0800 LABroadcastUpload 2018-10-31 11:02:28.380 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.413895 +0800 LABroadcastUpload 2018-10-31 11:02:28.413 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.453964 +0800 LABroadcastUpload 2018-10-31 11:02:28.453 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.479968 +0800 LABroadcastUpload 2018-10-31 11:02:28.479 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.514081 +0800 LABroadcastUpload 2018-10-31 11:02:28.513 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.548224 +0800 LABroadcastUpload 2018-10-31 11:02:28.547 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.581848 +0800 LABroadcastUpload 2018-10-31 11:02:28.581 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.624133 +0800 LABroadcastUpload 2018-10-31 11:02:28.623 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.646465 +0800 LABroadcastUpload 2018-10-31 11:02:28.646 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.680087 +0800 LABroadcastUpload 2018-10-31 11:02:28.679 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.713644 +0800 LABroadcastUpload 2018-10-31 11:02:28.713 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.752759 +0800 LABroadcastUpload 2018-10-31 11:02:28.752 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.779585 +0800 LABroadcastUpload 2018-10-31 11:02:28.779 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.813878 +0800 LABroadcastUpload 2018-10-31 11:02:28.813 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.854994 +0800 LABroadcastUpload 2018-10-31 11:02:28.854 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.855188 +0800 LABroadcastUpload 2018-10-31 11:02:28.854 [27415] Debug|6b17|SampleHandler.m:312|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioApp ---------------
默认 11:02:28.883123 +0800 LABroadcastUpload 2018-10-31 11:02:28.882 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.932190 +0800 LABroadcastUpload 2018-10-31 11:02:28.931 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.947889 +0800 LABroadcastUpload 2018-10-31 11:02:28.947 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:28.981193 +0800 LABroadcastUpload 2018-10-31 11:02:28.980 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.016192 +0800 LABroadcastUpload 2018-10-31 11:02:29.015 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.047840 +0800 LABroadcastUpload 2018-10-31 11:02:29.047 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.095569 +0800 LABroadcastUpload 2018-10-31 11:02:29.095 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.115072 +0800 LABroadcastUpload 2018-10-31 11:02:29.113 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.270830 +0800 LABroadcastUpload 2018-10-31 11:02:29.216 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.271530 +0800 LABroadcastUpload 2018-10-31 11:02:29.217 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.272777 +0800 LABroadcastUpload 2018-10-31 11:02:29.218 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.322329 +0800 LABroadcastUpload 2018-10-31 11:02:29.248 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.350062 +0800 LABroadcastUpload 2018-10-31 11:02:29.287 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.363928 +0800 LABroadcastUpload 2018-10-31 11:02:29.320 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.384039 +0800 LABroadcastUpload 2018-10-31 11:02:29.359 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.384695 +0800 LABroadcastUpload 2018-10-31 11:02:29.361 [8491] Debug|212b|SampleHandler.m:312|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioApp ---------------
默认 11:02:29.390916 +0800 LABroadcastUpload 2018-10-31 11:02:29.381 [24835] Debug|6103|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.414419 +0800 LABroadcastUpload 2018-10-31 11:02:29.414 [8491] Debug|212b|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.455207 +0800 LABroadcastUpload 2018-10-31 11:02:29.454 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.489226 +0800 LABroadcastUpload 2018-10-31 11:02:29.488 [24835] Debug|6103|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.513677 +0800 LABroadcastUpload 2018-10-31 11:02:29.513 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.547077 +0800 LABroadcastUpload 2018-10-31 11:02:29.546 [24835] Debug|6103|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.581483 +0800 LABroadcastUpload 2018-10-31 11:02:29.581 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.615560 +0800 LABroadcastUpload 2018-10-31 11:02:29.615 [24835] Debug|6103|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.659048 +0800 LABroadcastUpload 2018-10-31 11:02:29.658 [27415] Debug|6b17|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.680790 +0800 LABroadcastUpload 2018-10-31 11:02:29.680 [24835] Debug|6103|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.715018 +0800 LABroadcastUpload 2018-10-31 11:02:29.714 [24835] Debug|6103|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.748573 +0800 LABroadcastUpload 2018-10-31 11:02:29.748 [24835] Debug|6103|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.789083 +0800 LABroadcastUpload 2018-10-31 11:02:29.788 [84535] Debug|14a37|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.832327 +0800 LABroadcastUpload 2018-10-31 11:02:29.831 [24835] Debug|6103|SampleHandler.m:306|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeVideo
默认 11:02:29.877877 +0800 LABroadcastUpload 2018-10-31 11:02:29.876 [84535] Debug|14a37|SampleHandler.m:312|MODULE_LIVE_ASS| SampleHandler processSampleBuffer RPSampleBufferTypeAudioApp ---------------

  这个带来两个声音之间的混音同步问题,

  如果强制同步App的声音,必将带来500ms的延时

  如果不同步,会带来App路的声音500ms的延时,绝地求生中开枪声音迟滞的问题

暂时没有太好的方法:

  一种办法,用户选择声音输出到扬声器,而不是听筒,这样micphone采集到是App声音和环境声音,自然同步;然后屏蔽掉App的声音

ReplayKit2:声音回调时间戳问题的更多相关文章

  1. ffmpeg 和 SDL 的结合使用

    FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视 频的完整解决方案.它包含了非常先进的音频/视频编解码库 ...

  2. (转)如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器

    原文地址:http://www.dranger.com/ffmpeg/ FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码. ...

  3. ffmpeg教程

    转:http://blog.sina.com.cn/s/blog_51396f890100nd91.html 概要  电影文件有很多基本的组成部分.首先,文件本身被称为容器Container,容器的类 ...

  4. ffmpeg个人翻译文档1-8<转>

    [个人翻译]ffmpeg文档1 (2008-08-26 09:39:15) 转载 标签: 杂谈 分类: 翻译文档 指导1:制作屏幕录像 源代码:tutorial01.c 概要   电影文件有很多基本的 ...

  5. iOS开发之微信聊天工具栏的封装

    之前山寨了一个新浪微博(iOS开发之山寨版新浪微博小结),这几天就山寨个微信吧.之前已经把微信的视图结构简单的拖了一下(IOS开发之微信山寨版),今天就开始给微信加上具体的实现功能,那么就先从微信的聊 ...

  6. FFPLAY的原理(三)

    播放声音 现在我们要来播放声音.SDL也为我们准备了输出声音的方法.函数SDL_OpenAudio()本身就是用来打开声音设备的.它使用一个叫做SDL_AudioSpec结构体作为参数,这个结构体中包 ...

  7. FFPLAY的原理(四)

    意外情况 你们将会注意到我们有一个全局变量quit,我们用它来保证还没有设置程序退出的信号(SDL会自动处理TERM类似的信号).否则,这个线程将不停地运 行直到我们使用kill -9来结束程序.FF ...

  8. cocos 常用组件

    前面的话 本文将详细介绍 cocos 中的常用组件 Sprite [概述] Sprite(精灵)是 2D 游戏中最常见的显示图像的方式,在节点上添加 Sprite 组件,就可以在场景中显示项目资源中的 ...

  9. SDL_AudioSpec(转)

    转贴地址:http://www.cnblogs.com/nanguabing/archive/2012/04/12/2444084.html ============================= ...

  10. nodejs中获取时间戳、时间差

    Nodejs中获取时间戳的方法有很多种,例如: new Date().getTime() Date.now() process.uptime() process.hrtime() 平时想获取一个时间戳 ...

随机推荐

  1. ython 并不合适职场编程,SPL 才行

    职场人员使用 Excel 进行数据处理已经成为家常便饭.不过相信大家一定有过很无助的情况,比如复杂计算.重复计算.自动处理等,再遇上个死机没保存,整个人崩溃掉也不是完全不可能. 如果学会了程序语言,这 ...

  2. 如何使用Plotly和Dash进行数据可视化

    本文分享自华为云社区<从数据到部署使用Plotly和Dash实现数据可视化与生产环境部署>,作者: 柠檬味拥抱. 数据可视化是数据分析中至关重要的一环,它能够帮助我们更直观地理解数据并发现 ...

  3. Oracle 数据库误删操作闪回

    Oracle 数据库误删操作闪回 闪回功能是内置的,类似于服务器快照,看运气要在的数据在不在 select * from testtable as of timestamp to_timestamp( ...

  4. 【笔记】greatest/least函数&Round函数

    刷了一下力扣,发现有很多的函数是自己不清楚的,用了这些函数是比较容易得出结果的,不用自己费心去实现一些奇怪的东西 1.最大最小值 链接:https://leetcode.cn/problems/num ...

  5. 力扣657(java & python)-机器人能否返回原点(简单)

    题目: 在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串 moves 表示.字符 move[i] 表示 ...

  6. Kubernetes 已经成为云原生时代的安卓,这就够了吗?

    ​简介:本文将介绍如何在 Kubernetes 上构建新的应用管理平台,提供一层抽象以封装底层逻辑,只呈现用户关心的接口,使用户可以只关注自己的业务逻辑,管理应用更快更安全. 作者:司徒放 导语:云原 ...

  7. [GF] 与 Laravel 设计相近的 Golang 框架 GoFrame

    在 GoFrame (gogf/gf) 框架中有明确的代码分层设计,分别是 api, service, dao, model. model (结构模型)一般由工具自动生成,用于定义数据结构,只可被 m ...

  8. dotnet 已知问题 使用 Directory.EnumerateXXX 方法枚举 C 盘根路径可能错误的问题

    在 dotnet 里面,可以使用 Directory.EnumerateXXX 系列方法进行枚举文件或文件夹.在准备枚举驱动器根路径的文件或文件夹时,可能获取到错误的路径.错误的步骤在于传入的是如 C ...

  9. WPF 布局 在有限空间内让两个元素尽可能撑开的例子

    我在尝试写一个显示本机 WIFI 热点的账号和密码的控件,要求此控件在有限的空间内显示.但是尽可能显示出热点的账号和密码.而热点的账号和密码是用户配置的,也许长度很长.我的需求是在假如账号的长度较短的 ...

  10. dotnet C# 基础 为什么 GetHashCode 推荐只取只读属性或字段做哈希值

    在 C# 里面,所有的对象都继承 Object 类型,此类型有开放 GetHashCode 用于给开发者重写.此 GetHashCode 方法推荐是在重写 Equals 方法时也同时进行重写,要求两个 ...