4

Android/iOSでwebradio アプリケーションを開発してQt Quickいますqml。ラジオ ストリームを再生するには、MediaPlayer qml 要素を使用します。スライダーを追加して、再生中の音楽の音量を制御したいと考えています。

今のところ、MediaPlayer音量プロパティへのスライダー リンクを使用しようとしましたが、これはデバイスの音量を制御しません。実際、 のAndroidようにiOS、スライダーの値を変更すると、MediaPlayer音量のみが変更されます。また、デバイスの音量ボタンを押しても、スライダーは影響を受けません。

私が欲しいのは、MediaPlayer要素のボリュームだけでなく、デバイスのボリュームを表示および制御できるスライダーです。

誰もこれを行う方法を知っていますか?

4

1 に答える 1

0

今日現在、Qt は QML からも C++ からもグローバル デバイス ボリュームの設定をサポートしていないようです。Qt を介して生成されたオーディオの個々のストリームの音量のみを設定できます。最善の策は、スライダーの信号を C++ クラスに接続し、そこからネイティブの iOS/Android コードを実行してデバイスの音量を設定することです。

この質問をチェックして、iPhoneでそれを行う方法を説明してください。Android でも同様のものが利用可能です。

つまり、ボリュームを処理するクラスは、プラットフォームに依存せず、サポートするプラットフォームごとに複数の実装を持つ汎用インターフェイスにアクセスできる必要があります。どのプラットフォーム依存の実装を選択するかは、コンパイル時に決定する必要があります。

先に述べたように、これは 2015 年初頭のことです。Qt は急速に進化しており、すべてのプラットフォームでこれを処理する新しいクラスが QtMultimedia に間もなく登場するのを見ることができます。

于 2015-01-15T14:40:35.187 に答える