目录

JSON文件作为输入参数

开发步骤

  1. 导入需要的包。
    import android.content.res.AssetManager;
    import android.util.Log;
    import com.huawei.devices.hapticsengine.HapticAttributes;
    import com.huawei.devices.hapticsengine.HapticPlayer;
    import java.io.IOException;
    import java.io.InputStream;
  2. 创建HapticPlayer对象。
    HapticPlayer mHapticPlayer = new HapticPlayer(this);
  3. JSON文件设置振动波形,参见11.2-JSON文件格式说明。
    private boolean parseStream(String fileName) {
        boolean ret = false;
        // 获取asset资源管理的对象
        AssetManager assetManager = getAssets();
        if (assetManager != null) {
            try {
                // 通过assetManager打开asset目录的json文件
    	    InputStream inputStream = assetManager.open(fileName);
    	    HapticAttributes attr = new HapticAttributes();
                // 设置波形的使用场景
    	    attr.setUsage(HapticAttributes.USAGE_GAME);
                // 加载配置文件,获取文件输入流,调用波形配置文件接口
    	    ret = mHapticPlayer.setHapticWave(attr, inputStream);
    	} catch (IOException e) {
    	    Log.e(TAG, "Failed to open file");
    	    return false;
    	}
        }
        return ret;
    }
  4. 设置循环振动与振动播放。
    1. 设置循环播放,true是循环播放,false是停止循环播放。
      mHapticPlayer.setLooping(true);
    1. 查询是否循环播放。
      boolean isLoop = mHapticPlayer.isLooping();
  5. 启动振动播放。
    1. 启动播放。
      int ret = mHapticPlayer.play();
    2. 查询播放状态。
      boolean isPlaying = mHapticPlayer.isPlaying();
    3. 查询播放时长。
      int duration = mHapticPlayer.getDuration();
  6. (可选) 如果需要动态调节振动波形,参见动态调节振动波形。
  7. 停止振动播放。
    mHapticPlayer.stop();