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

手机网站 收录wordpress 数据库搜索功能

手机网站 收录,wordpress 数据库搜索功能,wordpress 快讯,动易网站系统怎么样过去开发者们在使用多媒体能力时#xff0c;往往会遇到这样的问题#xff0c;比如#xff1a;为什么我开发的相机不如系统相机的效果好#xff1f;为什么我的应用和其他的音乐一起发声了#xff0c;我要怎么处理#xff1f;以及我应该怎么做才能在系统的播控中心里可以看…过去开发者们在使用多媒体能力时往往会遇到这样的问题比如为什么我开发的相机不如系统相机的效果好为什么我的应用和其他的音乐一起发声了我要怎么处理以及我应该怎么做才能在系统的播控中心里可以看到呢对于开发者的这些疑问HarmonyOS 通过提供简单易用体验一致的生态接口使得开发者可以轻松解决上述问题。下面会按照不同模块逐个进行介绍。 一、相机 1.1 问题背景 相机应用在早期的版本开发时会发现三方相机和系统相机拍照的效果会有较明显的不一致。如下图对比可以看到在色彩/饱和度/纹理细节等方面有一些明显的差异。 三方相机 系统相机 1.2 问题原因 那么这一问题是怎么产生的呢主要有两个原因 1、系统相机采用了私有通路从而获取了更好的效果 2、预览流拍照效果差 1.3 问题解决 针对以上问题系统提出了如下的解决思路 1、统一接口统一流程统一效果通过统一开发接口和流程从而使得三方相机和系统相机获取一致的体验 2、分离预览、拍照、录像明确流定义让正确的流做正确的事 3、相机管道流水线模型 1.4 代码示例 1、相机基本控制流程如下 2、示例参考 使用 PreviewOutput 实现相机预览 // 1. 创建预览视图XComponent获取SurfaceIdsurfaceId  xComponent.getXComponentSurfaceId();// 2. 创建预览数据流输出PreviewOutputpreviewOutput  createPreviewOutput(profile, surfaceId);// 3. 添加预览数据流输出到相机会话session.addOutput(previewOutput); 使用 PhotoOutput 实现相机拍照 // 1. 创建图片接收器ImageReceiver获取SurfaceIdsurfaceId  imageReceiver.getReceivingSurfaceId();// 2. 创建拍照数据流输出PhotoOutputphotoOutput  createPhotoOutput(profile, surfaceId);// 3. 添加拍照数据流输出到相机会话session.addOutput(photoOutput); 使用 VideoOutput 实现相机录像 // 1. 创建视频编码器AVRecorder获取SurfaceIdsurfaceId  avRecorder.getInputSurface();// 2. 创建录像数据流输出VideoOutputvideoOutput  createVideoOutput(profile, surfaceId);// 3. 添加录像数据流输出到相机会话session.addOutput(videoOutput);更多详细的代码参考 https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/camera-overview.md 二、音视频焦点 2.1 问题背景 音视频应用开发中遇到的很常见的一个场景就是并发播放而并发播放的一般解决思路是各个应用对焦点的申请和处理。 传统的焦点管理方法依赖应用遵守约定好的策略如果有的应用不遵守比如不响应或者滥用焦点就可能会出现不发声或者乱发声的现象影响了用户的体验。 2.2 解决思路 针对以上的问题鸿蒙系统改进了焦点管理的设计提供了统一的焦点处理策略来规范应用对于焦点的使用以达成统一的发声体验。 系统中的焦点管理模块会存储一个焦点策略表定义了不同的场景下哪些应用可以获取焦点进行播放哪些应用会失去焦点而停止播放等等其他策略。 2.3 代码示例 可以通过接口的使用来看一下实际处理策略。 首先在 A 应用创建并使用 AudioRenderer 播放的时候系统会自动为其申请焦点这个是系统的行为。 A 应用播放后系统的焦点策略会进行判断如果 A 应用可以抢到焦点那就会使得失去焦点的应用暂停播放同时被暂停的应用也会在 INTERRUPT_FORCE 的回调事件中得到暂停的状态应用在收到这个事件后就需要存储并更新应用内的状态。 当 A 应用停止播放之前被暂停的应用也会收到一个恢复播放的事件这个事件会在 INTERRUPT_SHARE 中应用可以进行恢复播放的操作或者忽略这个非强制行为。 // 1.AudioRenderer进行播放时系统会申请焦点audioRenderer.start((err)  {});// 2.注册音频打断事件的回调audioRenderer.on(audioInterrupt, (event)  {  if (event.forceType  audio.InterruptForceType.INTERRUPT_FORCE) {      // 3.强制打断类型音频相关处理已由系统执行应用需更新自身状态  } else if (event.forceType  audio.InterruptForceType.INTERRUPT_SHARE) {      // 4.共享打断类型应用可自主选择执行相关操作或忽略打断事件  }}); 更多详细的代码参考 https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/audio-playback-concurrency.md 三、低时延播放 3.1 问题背景 游戏、K 歌、乐器等应用对于音频的输出时延要求很高常规的播放通路一般只能达到 60ms 左右甚至更高的时延无法满足这些应用的使用诉求。 3.2 解决思路 鸿蒙系统提供了低时延通路的设计。如下图所示在系统中的普通通路之外新增了一条垂直打通硬件的低时延通路通过 bypass 框架层直接在 DSP 进行混音可以达成最低 20ms 的音频输出时延。 同时为了简化应用的接入通过在接口中提供不同的参数配置使开发者可以用一套接口同时支持低时延和普通通路两种播放模式。 3.3 代码示例 可以通过 OH_AudioStreamXXX 接口来进行低时延通路的创建通过传入不同参数可以设置低时延模式亦可以设置普通模式从而使用一套接口来适配不同场景。 同时低时延模式一般采用来 pull 模式来获取数据这里提供了一个 callback需要应用创建并填入。 // 1.创建音频流构造器设置参数OH_AudioStreamBuilder_Create(builder, AUDIOSTREAM_TYPE_RENDERER);OH_AudioStreamBuilder_SetSamplingRate(builder, rate); // 其他参数设置…// 2.设置低延时模式和数据回调OH_AudioStreamBuilder_SetLatencyMode(builder, AUDIOSTREAM_LATENCY_MODE_FAST) ;OH_AudioStreamBuilder_SetRendererCallback(builder, callback, nullptr);// 3.构造播放的音频流并使用OH_AudioStreamBuilder_GenerateRenderer(builder, audioRenderer);OH_AudioRenderer_Start(audioRenderer);•OH_AudioRenderer_Release(audioRenderer);更多详细的代码参考 https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/using-ohaudio-for-playback.md 四、播控能力 4.1 系统能力通过前面所说的焦点管理策略系统解决了音视频应用并发播放的问题对于播放中的应用的控制系统也提供了规范支持。 系统提供了 C/S 模式的播控管理的框架应用作为客户端接入 AVSession 的会话端设置必要的信息系统的播控中心获取与之对应的会话控制器获取信息进行展示以及对应用发送控制命令。 通过标准接口的接入规范了应用的播放行为同时通过统一的播控中心的入口使得用户对于播放的控制做到一键直达。 4.2 代码示例 import AVSessionManager from ohos.multimedia.avsession;// 开始创建并激活媒体会话// 创建sessionlet context: Context  getContext(this);async function createSession() {  let type: AVSessionManager.AVSessionType  audio;  let session  await AVSessionManager.createAVSession(context, SESSION_NAME, type);  await session.activate();}async function setSessionInfo() {  // 播放器逻辑··· 引发媒体信息与播放状态的变更  // 设置必要的媒体信息  let metadata: AVSessionManager.AVMetadata  {    assetId: 0,    title: TITLE,    artist: ARTIST  };  session.setAVMetadata(metadata).then(()  {  }).catch((err: BusinessError)  {  });  // 简单设置一个播放状态 - 暂停 未收藏  let playbackState: AVSessionManager.AVPlaybackState  {    state:AVSessionManager.PlaybackState.PLAYBACK_STATE_PAUSE,    isFavorite:false  };  session.setAVPlaybackState(playbackState, (err)  {  });}async function setListenerForMesFromController() {  // 一般在监听器中会对播放器做相应逻辑处理  // 不要忘记处理完后需要通过set接口同步播放相关信息参考上面的用例  session.on(play, ()  {    // do some tasks ···  });  session.on(pause, ()  {    // do some tasks ···  });}更多详细的代码参考 https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/avsession-overview.md
http://www.hkea.cn/news/14594518/

相关文章:

  • 网络营销网站建设ppt黄骅市邮编
  • 整个网站都在下雪特效怎么做手机端h5网站模板下载
  • 网站办公室比较厉害的网站制作公司
  • 地方网站优势邯郸网站制作哪里做
  • 网站推广策划方案书手机网站模板 源码
  • 套模板建设网站多少钱徐州网络推广公司排名
  • 网站伪静态怎么做公司做网站需准备资料
  • php能区别电脑网站和手机网站吗怎么嵌入到phpcms深圳招聘网站前十排名
  • 网站建设的常见技术有哪些知名网站建设推荐
  • 用什么软件做楼盘微网站厦门微信商城网站建设
  • 智能做网站西宁做网站哪家公司好
  • 网站建设 ppt网站建设维护网页设计
  • 国内网站做得好的公司做网站一般做几个尺寸
  • 哪个平台做网站好天津建设工程信息网招标文件澄清
  • 营销型网站价格实惠wordpress商城购物表单
  • 做网站大概要花多少钱房屋租赁网站建设如何给客户定位
  • 做统计的网站吗网站开发 外包 哪家
  • 广州市公司网站建设品牌免费的网络电视app
  • 南宁网站建站公司ps如何做网页
  • 怎样制作网站后台建站程序的价钱
  • 网站开发多语言切换思路公司内部管理软件叫什么
  • 个人的网站怎么备案在上海做钟点工的网站
  • 建站软件免费试用wordpress 不能选择数据库
  • 网站模板flash网站备案 种类
  • 网站建设企业资质蔬菜水果网站建设
  • 网站建设的需求目前网站开发怎么兼顾手机
  • 网站开发设计大赛如何看一个网站的好坏
  • 黄山网站建设推荐那个企业建网站好
  • 广东网站制作公司排名哪里有做网站的
  • 红木家具网站建设总体规划导航类的wordpress