当前位置: 代码迷 >> 综合 >> 47.qt quick-音频播放、SoundEffect、MediaPlayer属性详解(一)
  详细解决方案

47.qt quick-音频播放、SoundEffect、MediaPlayer属性详解(一)

热度:12   发布时间:2023-12-03 05:21:41.0

1.QML音频介绍

在qml中,支持播放音频文件的类型有三种:

  • Sound: 只支持播放wav(未压缩)的音频文件,支持调节播放位置、速度、增益等
  • SoundEffect: 只支持播放wav(未压缩)的音频文件,通常用来播放虚拟键盘声音、弹出对话框的正负反馈或游戏声音等,支持设置播放次数、声音大小、
  • MediaPlayer: 支持播放mp3、wav等音频文件,并且支持渲染视频,常用来做音频播放器或者视频播放器

订阅专栏的小伙伴可能会问,为什么Sound和SoundEffect只支持播放未压缩的音频文件.接下来我们便来讲一讲.
   因为wav音频文件,相对于mp3这种格式,解码工作需要的时间非常短,而应用程序的提示音在播放速度上需要响应快,所以SoundEffect适合播放提示音.
  而Sound由于不支持播放mp3、视频,所以大部分都使用MediaPlayer类,用的场景很少,本章不对它进行讲解.

2. SoundEffect类

首先来学习它的属性和方法.常用属性如下所示: 

  • loops : int,设置播放声音的循环总次数、默认值为1(每次播放只播放一次)、如果设置为SoundEffect.Infinite则表示次数无限循环, 可以更改该值,在这种情况下,它将将剩余的loopsRemaining循环次数更新为新值。
  • loopsRemaining : int,只读属性,获取当前循环的剩余次数
  • muted : bool,是否静音,默认为false,设置为true,将会静音
  • playing : bool,只读属性,获取当前声音是否在
  相关解决方案