Обнаружение отключенных наушников — Monotouch

Есть ли способ определить, отключены ли наушники в Monotouch? Я пытаюсь найти метод AudioSessionAddPropertyListener, но не вижу его. Что этот метод портировал?

Вот документы Apple: http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html#//apple_ref/doc/constant_group/Audio_Session_Interruption_States

Если кто-то хочет увидеть код, как это сделать, вы можете сделать следующее:

AudioSession.PropertyListener p = delegate(AudioSessionProperty prop, int size, IntPtr data) {

            NSDictionary propertyDictionary = new NSDictionary(data);

            if (propertyDictionary.ContainsKey(NSObject.FromObject("OutputDeviceDidChange_OldRoute")))
            {
                string oldRoute = propertyDictionary.ValueForKey(new NSString("OutputDeviceDidChange_OldRoute")).ToString();

                if (oldRoute == "Headphone")
                {
                    if (audioPlayer != null)
                    {
                        audioPlayer.Pause();    
                    }
                }
            }
        };

        AudioSession.AddListener(AudioSessionProperty.AudioRouteChange, p);

person user472292    schedule 11.12.2011    source источник


Ответы (1)


Есть ли способ определить, отключены ли наушники в Monotouch?

Я не уверен, но...

Я пытаюсь найти метод AudioSessionAddPropertyListener, но не вижу его. Что этот метод портировал?

Собственный вызов AudioSessionAddPropertyListener сопоставляется с AudioSession.AddListener статический метод.

person poupou    schedule 11.12.2011
comment
Отлично. Это то, что мне было нужно. Есть ли место, где вы смотрели, как сопоставляется API (между MonoTouch и нативным вызовом)? - person user472292; 12.12.2011
comment
Розеттский камень Мигеля tirania.org/tmp/rosetta.html — лучший ресурс при работе с ( Селекторы Objective-C), но в настоящее время он не показывает вызовы для библиотек C. В общем, привязки сохраняют имена достаточно похожими, чтобы автодополнение MonoDevelop IDE могло предложить вам вероятных кандидатов. - person poupou; 12.12.2011