> 文章列表 > Qt音视频开发22-音频播放QAudioOutput

Qt音视频开发22-音频播放QAudioOutput

嘿,开发者朋友们,你是否在处理音频播放时感到头疼?别担心,我有个好消息要告诉你!QAudioOutput,这个Qt家族的小可爱,从Qt4.6就开始默默为我们服务,在Qt6变成QAudioSink后依然能干劲满满。它就像开发者专用的瑞士军刀,让音频播放变得异常简单。

为什么要用QAudioOutput? 因为它能简化你的开发流程!不需要再依赖SDL,直接将ffmpeg采集到的PCM数据扔给QAudioOutput,它就能完美解码。想想看,既能处理视频,又能播放音频,简直是开发者的福音。

它真的这么神奇吗? 当然!只需要设置音频设备和数据格式(比特率、采样率啥的),就能直接播放音频。再也不用费劲嵌入SDL到Qt界面里,那简直是折磨。用QAudioOutput,搞定音频播放就可以专注于视频处理了,省时省力!

想试试吗?代码示例和体验地址我已经给你准备好了。快来看看吧!国内站点:https://gitee.com/feiyangqingyun,国际站点:https://github.com/feiyangqingyun。打包解决方案,开发更轻松!

有任何问题,随时找我。记住,用QAudioOutput,开发音视频才是人生巅峰!

Qt音视频开发22-音频播放QAudioOutput

一、前言

以前一直以为只有Qt5以后才有QAudioOutput播放音频,其实从Qt4.6开始就有,在Qt6中变成了QAudioSink,功能一样。用QAudioOutput播放音频pcm数据极其方便,只需要指定音频播放设备(可能电脑上有多个音频输出设备),设置音频数据格式(采样率、通道数量、比特率等)。当ffmpeg采集到音频数据后,就是原始的pcm格式数据,直接发给QAudioOutput播放就行,这样就不需要sdl,sdl可以很方便的用来播放音视频,但是和Qt结合显示不大方便,嵌入到Qt界面中比较繁琐,所以最后采用的策略是视频用qopenglwidget或者painter绘制,音频用qaudiooutput播放,这样就只需要依赖ffmpeg即可,打完收工完美。

二、效果图

在这里插入图片描述
在这里插入图片描述

三、体验地址

  1. 国内站点:https://gitee.com/feiyangqingyun
  2. 国际站点:https://github.com/feiyangqingyun

免费资源