在Windows Mobile设备上使用WindowsMediaPlayerClass所需的帮助 - 卷问题

时间:2009-10-03 02:53:28

标签: windows-mobile wmp

我正在使用WindowsMediaPlayerClass()实例在我的应用程序中播放音频文件。此音频文件是单声道音频。有些人抱怨说 - 当他们通过Windows媒体播放器播放相同的音频文件时 - 声音清晰而响亮;但是当他们使用我的应用程序播放它时,该应用程序使用WindowsMediaPlayerClass.Colume = 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);
    }
}

1 个答案:

答案 0 :(得分:0)

不确定这是你的问题还是我有合适的类,但看起来MediaPlayer的音量设置应该从0.0到1.0。参见:

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