0

WindowsMediaPlayerClass()インスタンスを使用して、アプリケーション内でオーディオファイルを再生しています。このオーディオファイルはモノラルオーディオです。一部の人々は、Windows Media Playerを介して同じオーディオファイルを再生すると、サウンドがクリアで大音量になると不満を漏らしました。しかし、彼らがWindowsMediaPlayerClass.settings.volume = 100でWindowsMediaPlayerClass()インスタンスを使用する私のアプリケーションを使用してそれを再生するとき。WindowsMediaPlayerClass.settings.balanceを微調整しようとしましたが、何らかの理由でNotImplementedExceptionが発生します。

        if (mywmp.settings.get_isAvailable("volume"))
          mywmp.settings.volume = 100;
        if (mywmp.settings.get_isAvailable("balance"))
          mywmp.settings.balance = 100; 

WMPの正規化/イコライゼーション技術で音量を上げる方法はありますか?

また、IWMPSettingsインターフェイスは次のように定義されており、ボリュームとバランスの両方が含まれていますが、ボリュームのみが機能します(バランスは失敗します)。理由がわかりませんか?ポインタはありますか?

    namespace WMPLib
{
    [TypeLibType(4160)]
    [Guid("9104D1AB-80C9-4FED-ABF0-2E6417A6DF14")]
    public interface IWMPSettings
    {
        [DispId(101)]
        bool autoStart { get; set; }
        [DispId(102)]
        **int balance { get; set; }**
        [DispId(108)]
        string baseURL { get; set; }
        [DispId(109)]
        string defaultFrame { get; set; }
        [DispId(112)]
        bool enableErrorDialogs { get; set; }
        [DispId(103)]
        bool invokeURLs { get; set; }
        [DispId(104)]
        bool mute { get; set; }
        [DispId(105)]
        int playCount { get; set; }
        [DispId(106)]
        double rate { get; set; }
        [DispId(107)]
        **int volume { get; set; }**

        [DispId(113)]
        **bool get_isAvailable(string bstrItem);**
        [DispId(110)]
        bool getMode(string bstrMode);
        [DispId(111)]
        void setMode(string bstrMode, bool varfMode);
    }
}
4

1 に答える 1

0

これがあなたの問題なのか、私が正しいクラスを持っているのかはわかりませんが、MediaPlayer の音量設定は 0.0 から 1.0 になるはずです。見る:

http://msdn.microsoft.com/en-us/library/system.windows.media.mediaplayer.volume.aspx

于 2009-10-03T03:10:27.923 に答える