我可以在我的设备上构建和运行我的应用程序,但是当我尝试构建存档时,我遇到了很多错误.错误是关于我的第三个库 - 谷歌protobuf.它表明protobuf没有检测到#error主机架构.但是archieve和normal build之间的区别是什么?毕竟,当我选择product => run(cmd + R)时,我成功构建并在设备上运行我的应用程序.
我使用QPainter在QPrinter上绘制文本; 但是,有一个问题.我希望我能画出丰富多彩的文字.例如,绘制"Hello World",其中"H"为绿色,"ello"为黄色,"World"为蓝色.
暂时,我调用drawText 3次并使用不同的QPen来改变颜色.而且,我必须计算3次抽签的位置.最后,我无法在QRect中对齐一个字符串,因为我没有画出完整的句子.有没有办法用简单的方法解决它?任何提示都表示赞赏!谢谢!
我有一个视频文件,并且我将视频信息转储到ffmpeg大约3年之前的txt文件中。
...
Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16, 256 kb/s
Stream #0:2[0x1c1]: Audio: mp2, 48000 Hz, stereo, s16, 256 kb/s
Run Code Online (Sandbox Code Playgroud)
但是我发现使用更新ffprobe时格式发生了变化(ffprobe版本N-78046-g46f67f4版权所有(c)2007-2016 FFmpeg开发人员)。
...
Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 256 kb/s
Stream #0:2[0x1c1]: Audio: mp2, 48000 Hz, stereo, s16p, 256 kb/s
Run Code Online (Sandbox Code Playgroud)
对于相同的视频,其样本格式更改为s16p。
我实现了一个使用ffmpeg的简单视频播放器。它可以播放3年前的视频,但是在更改为更新ffmpeg之后无法输出正确的pcm流。我花了很多时间,终于发现音频应该是s16而不是s16p。在我添加行之后,在调用avcodec_decode_audio4之前,解码的音频流可以正常工作,
audio_codec_ctx->sample_fmt = AV_SAMPLE_FMT_S16
Run Code Online (Sandbox Code Playgroud)
但这只是一个hack。有人遇到这个问题吗?如何使ffmpeg正常工作?任何提示表示赞赏。谢谢!