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,只读属性,获取当前声音是否在