1

MCI を使用してサウンド関連の操作を行っていますが、音量を変更できないことを除いて、すべてが機能します。次のコードがあります。

mciSendStringA("open res/theme.wav type waveaudio alias maintheme", nullptr, 0, nullptr);
MCIERROR error = mciSendStringA("setaudio maintheme volume to 50", nullptr, 0, nullptr);

errorプログラムは正常に動作しますが、音量は変わりません。何が間違っているかについて何か提案はありますか?(2ページのグーグル検索で何もありません)

4

4 に答える 4

0

Error 261これらのエラー コードによると、MCIERR_UNRECOGNIZED_COMMANDエラーです。エラー自体は自明です。認識できないコマンドを送信しています。

于 2015-02-15T01:31:25.423 に答える
0

私も以前に同様の問題に遭遇しました.MCIでmp3を再生/一時停止/ループできました。しかし、音量を調整できませんでした。しかし、WaveOut API を追加することで問題は解決しました。

HWAVEOUT hwo;
waveOutSetVolume(hwo, dwVolume);

マイクロソフトのドキュメントdwVolumeよると、0x0000 から 0xFFFFの範囲で指定 でき、デバイスが左右のオーディオ再生をサポートしている場合、0xFFFF は 0xFFFFFFFF になり、その逆も同様です。

例:

サイレント = 0、

低 = 858993459、

通常 = 1717986918、

中 = -1717986919、

高 = -858993460、

非常に高い = -1

(これらのサンプル値は、0x11111111 などの元の 16 進数値から変換された 10 進数です。long long int変数を宣言するときに使用します)

于 2021-02-24T08:17:59.030 に答える