Требуется помощь для использования WindowsMediaPlayerClass на устройстве Windows Mobile - проблема с объемом - PullRequest
0 голосов
/ 03 октября 2009

Я использую экземпляр WindowsMediaPlayerClass () для воспроизведения аудиофайла в моем приложении. Этот аудиофайл монофонический. Некоторые люди жаловались на то, что - когда они воспроизводят один и тот же аудиофайл через Windows Media Player - звук чистый и громкий; но когда они воспроизводят его, используя мое приложение, которое использует экземпляр WindowsMediaPlayerClass () с WindowsMediaPlayerClass.settings.volume = 100. Я попытался настроить 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 голосов
/ 03 октября 2009

Не уверен, что это ваша проблема или у меня правильный класс, но похоже, что настройка громкости для MediaPlayer должна измениться с 0.0 на 1.0. См:

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

...