使用OneTimeWorkRequest暂停MediaBrowserServiceCompat音频

时间:2019-09-15 01:07:44

标签: android android-mediaplayer android-workmanager android-mediasession

我需要在一段时间后暂停我的应用中的音频播放。我正在使用OneTimeWorkRequest

OneTimeWorkRequest sleepTimerWorkRequest = new OneTimeWorkRequest.Builder(SleepTimer.class)
        .setInitialDelay(5, TimeUnit.MINUTES)
        .build();

WorkManager.getInstance(this).enqueue(sleepTimerWorkRequest);

我正在使用MediaBrowserServiceCompat类来播放音频,但是我不确定如何暂停Worker类中的音频。我尝试做这样的事情,但是不起作用:

public class SleepTimer extends Worker {

    private static WeakReference<Context> mContext;

    public SleepTimer(@NonNull Context context, @NonNull WorkerParameters params) {
        super(context, params);
        mContext = new WeakReference<>(context);
    }

    @NonNull
    @Override
    public Result doWork() {

        MediaSessionCompat mediaSessionCompat = new MediaSessionCompat(getApplicationContext(), MediaPlayerService.class.getSimpleName());
        mediaSessionCompat.getController().getTransportControls().pause();

        return Result.success();
    }
}

0 个答案:

没有答案
相关问题