Есть ли возможность получить текущий режим аудио/видео на Android (например, HDMI, SPDIF и т. Д.) С помощью Android SDK?Android - Получение текущего аудио/видеовыхода
Android> 4,0
Есть ли возможность получить текущий режим аудио/видео на Android (например, HDMI, SPDIF и т. Д.) С помощью Android SDK?Android - Получение текущего аудио/видеовыхода
Android> 4,0
Начиная с уровня 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...
}
Знаете ли вы, как я мог бы объединить это с API-интерфейсами поддержки MediaRouter? В частности, я хочу иметь возможность использовать те же API, которые я использую для Chromecast, как те, которые я использую для обнаружения/выбора Bluetooth-устройств. Google Music делает это как-то, но мне сложно узнать, как они это сделали. – clu
На Jellybean, а затем вы можете использовать 'getSelectedRoute (ROUTE_TYPE_LIVE_AUDIO)' (или 'ROUTE_TYPE_LIVE_VIDEO') на [' MediaRouter'] (http://developer.android.com/ reference/android/media/MediaRouter.html). Возвращаемый объект 'RouteInfo' имеет метод' getName'. – Michael
Спасибо, используйте это как ответ –