Android Radio实战——静音操作(十九)

        在之前的文章中,介绍 RadioTuner 时看到了静音功能的接口,当时感觉跟其他接口差不多,就没有做详细分析,但是在后来看代码时发现并没有那么简单。这里我们就再来分析以下 Radio 的静音操作流程。

一、源码解析

1、通用流程

RadioTuner

源码位置:/frameworks/base/core/java/android/hardware/radio/RadioTuner.java

/**
 * 设置静音状态
 */
public abstract int setMute(boolean mute);
 
/**
 * 获取静音状态
 */
public abstract boolean getMute();

        这里只是一个接口,不做详细介绍了。

TunerAdapter

源码位置:/frameworks/base/core/java/android/hardware/radio/TunerAdapter.java

@NonNull private final ITuner mTuner;
 
class TunerAdapter extends RadioTuner {
    ......
    @Override
    public int setMute(boolean mute) {
        try {
            mTuner.setMuted(mute);
        } catch (IllegalStateException e) {
            return RadioManager.STATUS_ERROR;
        } catch (RemoteException e) {
            return RadioManager.STAT

你可能感兴趣的:(Android,Radio开发,android,Radio开发)