当前位置: 首页 > news >正文

揭阳新站seo方案跨境电商网址

揭阳新站seo方案,跨境电商网址,网页翻译英文,wordpress pluto文章目录 新功能AudioMirringoemCarService 新功能 AudioMirring 简单的说就是两个bus输出的是同一个音频数据。 构建的流程是#xff1a; 一个输入src的bus#xff0c;和两个输出dst的bus。 通过setParamter 设置到hal。 hal解析这些参数#xff0c;将输入bus 的音频数据… 文章目录 新功能AudioMirringoemCarService 新功能 AudioMirring 简单的说就是两个bus输出的是同一个音频数据。 构建的流程是 一个输入src的bus和两个输出dst的bus。 通过setParamter 设置到hal。 hal解析这些参数将输入bus 的音频数据拷贝输出到两个dst的bus。 CarOemService 可以外部注册对应的carAudioFocusService、CarAudioVolumeService、CarAudioDuckingService. 分别为焦点请求音量设置、音频闪避。 也就是oem 根据自己的需要去控制这三个方面的音频功能。 当有定义这三个service的时候相应的处理会调用到对应的服务。 调用过程是基于binder 的 是需要IPC调用。 这一部处理是在java层处理。 对于按键的处理 新增了CarInputService, 可以通过监听不同的InputService 来处理按键。 补齐了12上面无法多屏幕按键控制。 这个按键需要OEM 自己定义 通过vhal hal 上报到CarInputService。 然后audio这边去监听相关的按键事件。 vehicle hal中可以携带三个参数 是int类型的数组 第一个参数 是按键事件的代码 1001 - 1007 第二个是屏幕 可以主屏副屏等等。音量调节的时候 可以从这个display ID 获取zoneID。 AudioMirring 如何配置mirror的区域 mirror的工作原理 首先在配置文件中添加的配置为 在carAudioService 中进行标签的解析然后设置mirror的device。 mirroringDevicesmirroringDevice addressmirror_bus_device_1/mirroringDevice addressmirror_bus_device_2//mirroringDevices 基本的原理 在CarService 这一层是构造类似下面这样的keyvalue序列然后这个序列通过AudioManager的setParameters给到hal。 mirroring_srcbus_1000;mirroring_destbus_10,bus_20. 而上述的keyValue 序列是要求hal层 实现所有写入到mirroring_src bus的数据 都要拷贝到bus_10 和bus_20进行输出。其中bus_10 和 bus_20是需要在zondID 中进行定义的是已经有的输出设备。 详细来说 首先解析xml中mirroringDevice这个device 同时也需要在audio_policy_configuration.xml中定义。 跟正常的device address一样。在CarService 中 判断是不是支持mirror通过判断mirroringDevice是不是至少有一个存在支持的话构造一个mix将这个mix添加到audioPolicy当中。构造mix这个mix 的device是mirroringDeviceattribute是music。现有只支持music类型共享。mix添加到audiopolicy 说明 后续的音频 数据通过mix线程都会写到mirror的device address。构造parameter 参数列表怎么构建的外部的接口是 enableMirrorForAudioZones传递的参数是需要mirror的zone id列表。carAudioService 中会经过一系列的判断确认zoneID可用时 通过zoneId来获取USAGE_MEDIA的DeviceAddress。 然后将mirrorDevice 和 获取到的DeviceAddress 组成paramter传递给hal。 Hal 层的实现 在有paramete的情况下。解析获取mirror src dst的address。 但不是打开的src的address而是打开dst的address。 然后将数据分别写入到这两个地址中。mirror的src相当于一个中转的地址。 oemCarService oemCarService的作用 使用一个app的service 替换原生的focusrequest、duck和volume。 private OemCarAudioFocusResult evaluateFocusRequestLocked(FocusEntry replacedCurrentEntry,AudioFocusInfo audioFocusInfo) {return isExternalFocusEnabled()? evaluateFocusRequestExternallyLocked(audioFocusInfo, replacedCurrentEntry) :evaluateFocusRequestInternallyLocked(audioFocusInfo, replacedCurrentEntry);} 如何启用 配置应用的的名字。比如想用 test的这个com.android.car.oemcarservice.testapp.OemCarServiceImpl 将名字config 到xml然后编译这个应用 push到system/priv-app目录底下。 String componentName res.getString(R.string.config_oemCarService);Intent intent (new Intent()).setComponent(ComponentName.unflattenFromString(mComponentName));Slogf.i(TAG, Binding to Oem Service with intent: %s, intent);mHandlerThread CarServiceUtils.getHandlerThread(car_oem_service);mHandler handler null ? new Handler(mHandlerThread.getLooper()) : handler;mIsOemServiceBound mContext.bindServiceAsUser(intent, mCarOemServiceConnection,Context.BIND_AUTO_CREATE | Context.BIND_IMPORTANT, UserHandle.SYSTEM); private boolean isExternalFocusEnabled() {CarOemProxyService proxy CarLocalServices.getService(CarOemProxyService.class);if (!proxy.isOemServiceEnabled()) {return false;}if (!proxy.isOemServiceReady()) {logFocusEvent(Focus was called but OEM service is not yet ready.);return false;}return proxy.getCarOemAudioFocusService() ! null;} 如何调用 bindServiceAsUser的作用是什么https://bbs.huaweicloud.com/blogs/325746 客户端服务端都继承.stub. 服务端实现具体的AIDL接口主要是下面的这些接口。 IOemCarAudioFocusService getOemAudioFocusService();IOemCarAudioVolumeService getOemAudioVolumeService();IOemCarAudioDuckingService getOemAudioDuckingService();在配置config中国oemCarService 后现有的实现是packages/services/Car/tests/OemCarServiceTestApp/src/com/android/car/oemcarservice/testapp/OemCarServiceImpl.java。 客户端获取服务 通过package的名字构造一个intent然后bindServiceAsUser。发送intent 在onServiceConnected 通过binder获取到远程的mOemCarService。外部通过getService 的方式获取CarOemProxyService的服务。 然后通过这个服务调用HIDL的接口。 CarOemProxyService proxy CarLocalServices.getService(CarOemProxyService.class);public void onServiceConnected(ComponentName componentName, IBinder iBinder) {Slogf.i(TAG, onServiceConnected: %s, %s, componentName, iBinder);synchronized (mLock) {if (mOemCarService IOemCarService.Stub.asInterface(iBinder)) {return; // already connected.}Slogf.i(TAG, car oem service binder changed, was %s now: %s,mOemCarService, iBinder);mOemCarService IOemCarService.Stub.asInterface(iBinder);Slogf.i(TAG, **CarOemService connected**);mIsOemServiceConnected true;mLock.notifyAll();}} 如何配置 在config.xml 中配置componet name com.android.car.oemcarservice.testapp/com.android.car.oemcarservice.testapp.OemCarServiceImpl componet name 根据app的package和service name一起组成的。 形式为package name/service name 这两个名字可以从源码的AndroidManifest.xml中获取到。 编译carService 和 test app push 到system/priv_app即可。 !-- This is the component name for the OEM customization service. OEM can choose to implementthis service to customize car service behavior for different policies. If OEMs choose toimplement it, they have to implement a service extending OemCarService exposed by car-lib,and implement the needed component services.If the component name is invalid, CarService would not connect to any OEM service.Component name can not be a third party package. It should be pre-installed --string nameconfig_oemCarService translatablefalsecom.android.car.oemcarservice.testapp/com.android.car.oemcarservice.testapp.OemCarServiceImpl/string manifest xmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.android.car.oemcarservice.testappuses-permission android:nameandroid.car.permission.CAR_CONTROL_AUDIO_SETTINGS /uses-permission android:nameandroid.car.permission.CAR_CONTROL_AUDIO_VOLUME /applicationservice android:namecom.android.car.oemcarservice.testapp.OemCarServiceImplandroid:directBootAwaretrueandroid:permissionandroid.car.permission.BIND_OEM_CAR_SERVICEandroid:exportedtrue/service/application /manifest
http://www.huolong8.cn/news/43746/

相关文章:

  • 福建省中城建设工程有限公司网站广西桂建云证件查询
  • 腾讯建站模板杭州做网站哪家公司好
  • 山东川畅科技网站设计网络营销策划模板
  • 电子商城网站开发软件做公司网站用什么系统
  • 苏州相城网站建设html是建网站导航栏怎么做
  • 前端网站开发总结申请域名费用
  • 黄冈网站建设报价北京网站建设公司 北京网站设计 网页设计制作 高端网站建设 分形科技
  • 小工厂怎么做网站j2ee 网站开发
  • 成都网站推广优化公司网络服务类型及协议
  • 推荐一些做电子的网站关键词云图
  • 怎样做水果外卖加盟网站邢台163官网
  • c 网站开发引擎网络广告策划的概念
  • 大学生创新创业网站开发建设展示型网站公司哪家好
  • 做外贸比较好得网站网站栏目 添加 管理
  • 国内外网站建设比较景德镇网站维护
  • 微信怎么做网站的动图西安建设公司都有哪些
  • angular2是做网站的还是手机的企业app有哪些
  • 建站运营新闻wordpress激活插件
  • 网站怎么做切换中英文做网站图片大小
  • 国际域名的外贸网站设计方案格式模板
  • 做网站注册的商标类别linux做ppt下载网站
  • 深圳涂料网站建设外贸数据分析网站
  • 前端做微网站做外贸的数据网站
  • 阿里网站搭建给网站做伪静态
  • 网站关键词方案网站建设难度大吗
  • 导购类网站怎么做的wordpress模板仿新版虎嗅huxiu-new主题
  • 网站建设外包合同7k7k网页游戏官网
  • 备案需要写网站建设方案书室内设计师网上培训班
  • c 做网站教程做票据业务的p2p网站
  • 网站建设有什么优势低代码开发软件