2013-08-05 3 views
0

Есть ли возможность получить текущий режим аудио/видео на Android (например, HDMI, SPDIF и т. Д.) С помощью Android SDK?Android - Получение текущего аудио/видеовыхода

Android> 4,0

+0

На Jellybean, а затем вы можете использовать 'getSelectedRoute (ROUTE_TYPE_LIVE_AUDIO)' (или 'ROUTE_TYPE_LIVE_VIDEO') на [' MediaRouter'] (http://developer.android.com/ reference/android/media/MediaRouter.html). Возвращаемый объект 'RouteInfo' имеет метод' getName'. – Michael

+0

Спасибо, используйте это как ответ –

ответ

1

Начиная с уровня API 16 (Jellybean) есть еще MediaRouter API, который позволяет получить информацию о текущей маршрутизации аудио/видео.
Чтобы получить информацию о маршруте, вы должны использовать метод getSelectedRoute, используя флаг ROUTE_TYPE_LIVE_AUDIO или ROUTE_TYPE_LIVE_VIDEO. Это дает вам объект RouteInfo, через который вы можете получить имя маршрута, используя метод getName.

Например:

MediaRouter mr = (MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE); 
RouteInfo ri = mr.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_AUDIO); 
if ("HDMI".equals(ri.getName().toString()) { 
    // do something... 
} 
+0

Знаете ли вы, как я мог бы объединить это с API-интерфейсами поддержки MediaRouter? В частности, я хочу иметь возможность использовать те же API, которые я использую для Chromecast, как те, которые я использую для обнаружения/выбора Bluetooth-устройств. Google Music делает это как-то, но мне сложно узнать, как они это сделали. – clu