Rename
This commit is contained in:
1 parent
b86d90021c
commit
6c0757c91b
972 files changed
+6885
-7321
No files matched your search
@@ -0,0 +1,70 @@
|
||||
package io.legato.kazusa.help
|
||||
|
||||
import android.content.Context
|
||||
import android.media.AudioManager
|
||||
import android.media.MediaPlayer
|
||||
import android.support.v4.media.session.PlaybackStateCompat
|
||||
import androidx.media.AudioAttributesCompat
|
||||
import androidx.media.AudioFocusRequestCompat
|
||||
import androidx.media.AudioManagerCompat
|
||||
import io.legato.kazusa.R
|
||||
import splitties.systemservices.audioManager
|
||||
|
||||
object MediaHelp {
|
||||
|
||||
const val MEDIA_SESSION_ACTIONS = (PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS
|
||||
or PlaybackStateCompat.ACTION_REWIND
|
||||
or PlaybackStateCompat.ACTION_PLAY
|
||||
or PlaybackStateCompat.ACTION_PLAY_PAUSE
|
||||
or PlaybackStateCompat.ACTION_PAUSE
|
||||
or PlaybackStateCompat.ACTION_STOP
|
||||
or PlaybackStateCompat.ACTION_FAST_FORWARD
|
||||
or PlaybackStateCompat.ACTION_SKIP_TO_NEXT
|
||||
or PlaybackStateCompat.ACTION_SEEK_TO
|
||||
or PlaybackStateCompat.ACTION_SET_RATING
|
||||
or PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID
|
||||
or PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH
|
||||
or PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM
|
||||
or PlaybackStateCompat.ACTION_PLAY_FROM_URI
|
||||
or PlaybackStateCompat.ACTION_PREPARE
|
||||
or PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID
|
||||
or PlaybackStateCompat.ACTION_PREPARE_FROM_SEARCH
|
||||
or PlaybackStateCompat.ACTION_PREPARE_FROM_URI
|
||||
or PlaybackStateCompat.ACTION_SET_REPEAT_MODE
|
||||
or PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE
|
||||
or PlaybackStateCompat.ACTION_SET_CAPTIONING_ENABLED)
|
||||
|
||||
fun buildAudioFocusRequestCompat(
|
||||
audioFocusChangeListener: AudioManager.OnAudioFocusChangeListener
|
||||
): AudioFocusRequestCompat {
|
||||
val mPlaybackAttributes = AudioAttributesCompat.Builder()
|
||||
.setUsage(AudioAttributesCompat.USAGE_MEDIA)
|
||||
.setContentType(AudioAttributesCompat.CONTENT_TYPE_MUSIC)
|
||||
.build()
|
||||
return AudioFocusRequestCompat.Builder(AudioManagerCompat.AUDIOFOCUS_GAIN)
|
||||
.setAudioAttributes(mPlaybackAttributes)
|
||||
.setOnAudioFocusChangeListener(audioFocusChangeListener)
|
||||
.build()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return 音频焦点
|
||||
*/
|
||||
fun requestFocus(focusRequest: AudioFocusRequestCompat): Boolean {
|
||||
val request = AudioManagerCompat.requestAudioFocus(audioManager, focusRequest)
|
||||
return request == AudioManager.AUDIOFOCUS_REQUEST_GRANTED
|
||||
}
|
||||
|
||||
/**
|
||||
* 播放静音音频,用来获取音频焦点
|
||||
*/
|
||||
fun playSilentSound(mContext: Context) {
|
||||
kotlin.runCatching {
|
||||
// Stupid Android 8 "Oreo" hack to make media buttons work
|
||||
val mMediaPlayer = MediaPlayer.create(mContext, R.raw.silent_sound)
|
||||
mMediaPlayer.setOnCompletionListener { mMediaPlayer.release() }
|
||||
mMediaPlayer.start()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user