2016-09-22 7 views
1

Позволяет взаимодействовать с медиаконтроллерами, клавишами регулировки громкости, мультимедийными кнопками и элементами управления транспортом.Кнопки Android MediaSession

В документации MediaSession указано, что оно работает со средствами массовой информации и элементами управления транспортом. Включает ли это только физические кнопки на устройстве или вы можете использовать кнопки пользовательского интерфейса, которые запускают обратные вызовы MediaSession?

ответ

1

Это точно.

Сначала вам нужна услуга, которая прислушивается к кнопке СМИ событий, объяви это от вас проявить, как так

 <service android:name="com.example.android.MediaPlaybackService" > 
    <intent-filter> 
    <action android:name="android.intent.action.MEDIA_BUTTON" /> 
    </intent-filter> 
</service> 

В этой службе вы должны инициализировать MediaSessionCompat объект и передать намерение вы получаете вместе с ним MediaButtonReceiver как так

private MediaSessionCompat mMediaSessionCompat = ...; 

public int onStartCommand(Intent intent, int flags, int startId) { 
    MediaButtonReceiver.handleIntent(mMediaSessionCompat, intent); 
    return super.onStartCommand(intent, flags, startId); 
} 

Вы также можете создать экземпляр MediaSessionCompat.Callback и установить его с

setCallback() 

Это где вы будете фактически контролировать СМИ, который играет Вы также можете вызвать эти транспортные средства управления через собственный пользовательский интерфейс с помощью экземпляра MediaControllerCompat используя его getTransportControls() метод

Подробнее здесь MediaButtonReceiver

 Смежные вопросы

  • Нет связанных вопросов^_^