Android Radio实战——调频/调幅(十二)

一、功能实现

方法封装

private final Object mLock = new Object();
private RadioTuner mRadioTuner;

/**
 * 向上调频/调辐
 */
public void setRadioSeekUp(boolean tag) {
    synchronized (mLock) {
        Log.i(TAG, "CONTROL_ACTION_SEEKUP mLock");
        if (mRadioTuner == null) {
            mRadioTuner = openSession(mRadioCallback);
        }
        // 设置静音
        mRadioTuner.setMute(true);
        // 开始调频/调辐
        if (tag) {
            mRadioTuner.scan(RadioTuner.DIRECTION_UP, true);
        } else {
            mRadioTuner.scan(RadioTuner.DIRECTION_DOWN, true);
        }
    }    
}

        这里不论向上或向下调频/调辐,最后都是调用 RadioTuner.scan() 方法。

二、源码分析

1、调频/调辐

RadioTuner.scan

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

/**
 * 向上或向下扫描到下一个有效站
 * 操作是异步的,当扫描完成时将调用{@link Callback} onProgramInfoC

猜你喜欢

转载自blog.csdn.net/c19344881x/article/details/130767626