4

我正在开发一个Android/iOS带有Qt Quickin的网络广播应用程序qml。要播放我的广播流,我使用 MediaPlayer qml 元素,我想添加一个滑块来控制播放音乐的音量。

目前,我尝试使用滑块链接到MediaPlayer音量属性,但这不能控制设备音量。实际上,在AndroidiOS,当我更改滑块值时,只会MediaPlayer更改音量。当我按下设备的音量按钮时,滑块不会受到影响。

我想要的是一个滑块,我可以用它来查看和控制设备的音量,而不仅仅是MediaPlayer元素的音量。

有谁知道如何做到这一点 ?

4

1 回答 1

0

截至今天,Qt 似乎不支持从 QML 和 C++ 设置全局设备卷。您只能设置通过 Qt 生成的单个音频流的音量。您最好的选择是将滑块的信号连接到 c++ 类,然后从那里运行本机 iOS/Android 代码来设置设备音量。

您可以查看这个问题,它解释了如何在 iPhone 上执行此操作。类似的东西也可用于 Android。

对于跨平台支持,您必须以旧方式进行,这意味着处理卷的类应该可以访问与平台无关的通用接口,并且该接口对于您希望支持的每个平台都有多个实现。应该在编译中决定选择哪个平台相关的实现。

正如我所说,现在是 2015 年初。Qt 正在迅速发展,你可以看到 QtMultimedia 中很快出现了一个新的类,它可以为所有平台处理这个问题。

于 2015-01-15T14:40:35.187 回答